当前位置:操作系统 > 安卓/Android >>

Android 4.0的一个问题

貌似到了4.0开始,ui线程就不可以用httpclient执行网络相关的操作,都会报异常,而在2.2和2.3上是不会发生的。所以这段时间遇到很多怪异的问题,在我的手机上可以执行,而在客户的手机上就不行。特别是一些新三方SDK,你得钻进去才能发现问题所在。

如果代码嵌得太深而无法再抽得出来用handler的话,那有一个暂时的解决方案,就是所有在ui线程操作网络的代码都放进一个线程里执行,然后让这个线程join到ui线程上,这样就可以了。

下面是代码:
 
1
Thread thread = new Thread() {
2
    public void run() {
3
        // you httpclient code.
4
    }
5
};
6
thread.start();
7
thread.join();


作者:Kut.Zhang
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,