課程
/移動開發
/Android
/Android面試??虷andler詳解
他會自動綁定主線程的LOOPER?
是不是不推薦自己在子線程中創建looper對象?
2016-05-20
源自:Android面試??虷andler詳解 9-1
正在回答
每一個handler必須要對應一個looper,主線程會自動創建Looper對象,不需要我們手動創建,所以主線程可以直接創建handler。
在new handler的時候沒有傳入指定的looper就會默認綁定當前創建handler的線程的looper,如果沒有looper就報錯。
如果自己開個子線程,那肯定得自己創建looper對象啊,或者用HandlerThread,的getlooper也行。
嗟嗟嗟 提問者
老師有講的,
handler負責消息發送,Looper負責接受Handler發送的消息,并直接把消息回傳給handler自己(通過Looper.looper()方法)。MessageQueue就是一個存儲消息的容器。
記著這句話你就不會那么糾結了...
舉報
學Android開發,必學Handler,也是Android面試???/p> 進入課程
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-05
每一個handler必須要對應一個looper,主線程會自動創建Looper對象,不需要我們手動創建,所以主線程可以直接創建handler。
在new handler的時候沒有傳入指定的looper就會默認綁定當前創建handler的線程的looper,如果沒有looper就報錯。
如果自己開個子線程,那肯定得自己創建looper對象啊,或者用HandlerThread,的getlooper也行。
2016-05-21
老師有講的,
handler負責消息發送,Looper負責接受Handler發送的消息,并直接把消息回傳給handler自己(通過Looper.looper()方法)。MessageQueue就是一個存儲消息的容器。
記著這句話你就不會那么糾結了...