最新回答 / 紀奕濱
class?LooperThread?extends?Thread?{public?Handler?mHandler;public?void?run()?{? Looper.prepare();//給線程創建一個消息循環? mHandler?=?new?Handler()?{? ? public?void?handleMessage(Message?msg)?{? ? ?//?process?incoming?messages?here? ? }? };? Looper.loop();//使消息循環起作用...
2016-05-22
已采納回答 / Swy㏄
handlerThread是子線程的。平時在線程中實例化handler(首先的需要確定線程中包含looper)在線程中創建looper需要在線程的run()方法中先調用looper.prepare()來初始化looper,然后再run()方法后調用looper.loop()方法來死循環 這樣就在當前線程中創建好了looper而handlerthread就是更加簡單的用來創建線程中的looper
2016-05-22
我覺得老師講的可以,這畢竟不是給小白或者零基礎的人看的視頻,上課前提前預習,課后復習,多敲代碼,多練習,在聽老師講一講,還是很容易理解的。
2016-05-22
已采納回答 / 粗魯的男人
每一個handler必須要對應一個looper,主線程會自動創建Looper對象,不需要我們手動創建,所以主線程可以直接創建handler。在new handler的時候沒有傳入指定的looper就會默認綁定當前創建handler的線程的looper,如果沒有looper就報錯。如果自己開個子線程,那肯定得自己創建looper對象啊,或者用HandlerThread,的getlooper也行。
2016-05-20