弄错一个概念:Android的Thread与Handler是不同的!
弄错一个概念:Android的Thread与Handler是不同的!
?
一直以为Android中Handler的post方法会创建一个线程,一直都是这样编程过来,也没发现什么问题,
?
最近在编一个对线程要求很高的一个程序时,发现机器反应特别缓慢,一直找不到问题所在,
?
最后实在没办法用Thread代替Handler来创建线程,问题解决了...
?
原来一直是我的概念出现了问题,Handler并不是Android为新建线程而设立的方法,Handler其实是用来对控件进行异步刷新的方法。
?
这里要注意:Handler不能在Thread中创建,必须要在Thread外创建。
?
对我的无知进行一个记录。
Handler handler = new Handler();handler.post(){ //网络操作 //控件刷新操作}new Thread(new Runnable(){ public void run(){ //网络操作 handler.post(new Runnable( //控件刷新操作 )); }}).start();