作者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