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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章