Handler:用來發送消息,處理消息
Message:消息實體對象,handler通過sendMsg將實體放到消息隊列裏面
MessageQueue:存放消息的隊列
Looper:消息輪詢器,輪詢消息隊列的消息然後取出,交給handler處理
關於Handler的幾個問題
1.Handler可以new 多個嗎?
Handler可以有多個
2.Looper可以有多個嗎?
Looper可以有多個,但是一個線程只有一個Looper
3.MessageQueue可以有多個嗎?
一個線程只能有一個
Handler通信
1.子線程與主線程通信
1.在子線程中調用send..,post…
2.在主線程中創建Looper(Looper.prepare),MessageQueue(Application給我們準備好了,不需手動創建)
3.Handler,Looper,MessageQueue必須在一個線程
4.主線程收到調用結果
2.主線程與子線程通信
1.在主線程中調用send..,post…
2.在子線程中手動創建Looper(Looper.prepare),MessageQueue
3.Handler,Looper,MessageQueue必須在一個線程
4.子線程收到調用結果
3.子線程A與子線B程通信
A與B通信,A控制B