作者areyo (沒有名字的怪物)
看板AndroidDev
標題[問題] AsyncTask in Android 2.3.6
時間Sat Apr 20 23:30:19 2013
Hi guys:
小弟我最近使用AsyncTask時,發現在2.3.6的版本上面會卡住
不曉得有沒有人有相同的問題
myTask = new MyAsyncTask(); //在Debug時,這邊就卡住了
myTask.execute();
但我在4.x版本卻不會有這個問題
也去查了該API,它於第3版就加入了
而2.3.6的版本是API 10,所以應該有支援才對
請問大家有相同的問題,謝謝
--
『控制自己的慾望,認識自己的無知,做自己的主人』
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.40.176.236
1F:→ kewang:log 04/20 23:41
2F:→ KeySabre:AsyncTask在這兩版本用起來沒啥差,問題應該在其他部份。 04/20 23:49
3F:→ KeySabre:怎麼這個板常有人問問題都描述不清等人觀落陰... 04/20 23:49
4F:推 kewang:其實很多程式版都是這樣子,習慣就好 XD 04/21 00:09
※ 編輯: areyo 來自: 59.127.191.91 (04/21 07:53)
※ 編輯: areyo 來自: 59.127.191.91 (04/21 07:54)
6F:→ KeySabre:MainActivity的271行有啥 04/21 10:34
8F:→ areyo:271行其實也沒跑到,Status_txt.setText("Please Enter Your 04/21 14:24
9F:→ areyo:我是一個button去執行的 04/21 14:24
10F:推 kewang:沒有原始code很難觀落陰吧... 04/21 14:52
11F:→ kewang:不過看起來似乎是ui thread的問題 04/21 14:53
13F:→ areyo:麻煩你,謝謝 04/21 16:42
14F:→ KeySabre:logcat訊息是click造成 但code 271行好像對不到? 04/21 19:53
15F:→ KeySabre:你要catch的NetworkOnMainThreadException在api level 11 04/21 19:54
16F:→ KeySabre:才有 所以2.3.6的dvm不認識 就丟出VerifyError 04/21 19:55
17F:→ KeySabre:另外 在doInBackground catch NetworkOnMainThread不合理 04/21 19:58
18F:→ KeySabre:因為它本來就不會在UI thread 其他的callback才會 04/21 20:00
19F:→ KeySabre:印Thread.currentThread().getName()是不是main就知道了 04/21 20:01
20F:→ KeySabre:或者用Looper.myLooper()==Looper.getMainLooper()判斷 04/21 20:02
21F:→ areyo:KeySabre,可以了,可是有點不解的是,那它怎麼會卡在new那邊 04/21 21:22
22F:→ areyo:不是應該是到doInBackground那邊才會有問題嗎?? 04/21 21:24
23F:→ areyo:再麻煩你解說,謝謝 04/21 21:34
24F:→ KeySabre:建議你查好VerifyError是什麼 再來發文分享給大家 04/21 23:02
25F:→ areyo:好的,謝謝你的協助處理 04/22 10:51