Handler,Looper,Message,MessageQueue原理

Handler

創建handler主要有兩個構造,一個無參一個需要一個Looper

無參構造就會使用MainLooper

所以Handler中肯定有一個Looper

使用handler發送消息時

handler會把自己保存在Message中

然后把Message給Looper的MessageQueue

Looper會循環從MessageQueue中取出Message

調用Message中帶的Handler方法來處理該消息

Looper會在線程中死循環,直到從MessageQueue中拿到一個空消息


Handler在哪個線程執行,取決于Looper屬于哪個線程

每個線程只能有一個Looper

每個Looper只能有一個MessageQueue

可以多個handler共用一個Looper

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容