码迷,mamicode.com
首页 > 其他好文 > 详细

Looper.getMainLooper()

时间:2014-09-22 13:25:22      阅读:9328      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   sp   art   log   c   ef   new   

如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的looper
一般而言,如果你的Handler是要来刷新操作UI的,那么就需要在主线程下跑。
情况:
1.要刷新UI,handler要用到主线程的looper。那么在主线程 Handler handler = new Handler();,如果在其他线程,也要满足这个功能的话,要Handler handler = new Handler(Looper.getMainLooper());
2.不用刷新ui,只是处理消息。 当前线程如果是主线程的话,Handler handler = new Handler();不是主线程的话,Looper.prepare(); Handler handler = new Handler();Looper.loop();或者Handler handler = new Handler(Looper.getMainLooper());
若是实例化的时候用Looper.getMainLooper()就表示放到主UI线程去处理。
如果不是的话,因为只有UI线程默认Loop.prepare();Loop.loop();过,其他线程需要手动调用这两个,否则会报错。

 

参考:http://blog.csdn.net/thanklife/article/details/17006865

Looper.getMainLooper()

标签:blog   http   ar   sp   art   log   c   ef   new   

原文地址:http://www.cnblogs.com/veins/p/3985688.html

(0)
(2)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!