Android 中handler 的应用

1: Activity中的消息循环是利用Looper来维护的。Activity自动为主thread建立一个Looper。

 

2:在建立的子线程中,如果不使用Looper.prepare();和Looper.loop();,是没有自己的Looper的。可以通过Looper.getMainLooper()来得到主thread的Looper,Looper.myLooper(); 来得到本thread的Looper。如果没有Looper.prepare();,当然是得到NULL的。

 

3:Handler 默认的是attach到本线程的Looper上面,所以同样的道理,如果没有Looper.prepare(); 就不行。但当然也可以设置Looper给他。

 

常见的做法是在各个附线程里面得到Looper.getMainLooper (或者直接是建立在主线程的handler),这样发消息给主线程来刷新UI啥的。

 

 

 

发布了53 篇原创文章 · 获赞 4 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章