訊息機制
如上一篇文章提到的,UI必須都在主執行緒中重新整理,包括吐司提示框(toast)
傳送訊息,需要知道訊息是可以攜帶資料的,即msg.obj,傳送訊息有兩種情況:
1 傳送攜帶資訊的訊息,這種情況必須建立訊息物件
2 傳送空訊息,當傳送的訊息不需要攜帶資訊時,就傳送空訊息
訊息的建立,一般是不需要new的,而是用到 Message msg = handler.obtainmessage(); 用這種方法,如果訊息池有訊息,即取出,沒有,則new一個新的
傳送訊息,如何區別訊息是成功還是失敗呢?這裡用到了msg.what,這個屬性是用來定義訊息的型別的
例如 msg.what = 1 msg.what = 2 然後用switch來區分操作。
下面來總結一下訊息佇列
當主執行緒建立後,就會同時生成messageQueue(訊息佇列)和Looper(訊息輪詢器)物件
如果需要使用訊息機制,需要手動建立handler(訊息處理器)
輪詢器會不斷詢問訊息佇列中是否有訊息,有訊息就會立馬傳送給handler物件
handler物件拿到訊息,就會立馬執行handlermessage方法。
相關文章
- 理解 Android 訊息機制Android
- Android訊息機制HandlerAndroid
- android訊息機制—HandlerAndroid
- Android 之訊息機制Android
- 訊息機制篇——初識訊息與訊息佇列佇列
- Rabbitmq可靠訊息投遞,訊息確認機制MQ
- Android非同步訊息機制Android非同步
- 重拾 ObjC 訊息機制OBJ
- flutter 訊息傳遞機制Flutter
- RabbitMQ 訊息確認機制MQ
- 簡析Windows訊息機制Windows
- Handler訊息傳遞機制
- Android訊息機制Handler用法Android
- Kafka 訊息儲存機制Kafka
- Android的Handler訊息機制 解析Android
- MFC學習(四) 訊息機制
- Android Handler 訊息機制詳述Android
- 深入理解Android訊息機制Android
- 深入理解windows 訊息機制Windows
- 【RocketMQ】訊息的刷盤機制MQ
- RabbitMQ訊息佇列(九):Publisher的訊息確認機制MQ佇列
- Android 訊息機制:Handler、MessageQueue 和 LooperAndroidOOP
- iOS 訊息轉發機制Demo解析iOS
- Handler訊息機制完全解析Handler解析
- 全面剖析Android訊息機制原始碼Android原始碼
- 深入淺出 Runtime(三):訊息機制
- Android Handler MessageQueue Looper 訊息機制原理AndroidOOP
- Android 訊息機制詳解(Android P)Android
- 由外到內——剖析Android訊息機制Android
- 基於TimeLine模型的訊息同步機制模型
- 06.Android之訊息機制問題Android
- Android進階;Handler訊息機制詳解Android
- iOS進階之訊息轉發機制iOS
- JAVA訊息確認機制之ACK模式Java模式
- Android Handler訊息機制原始碼解讀Android原始碼
- Android-Handler訊息機制實現原理Android
- 原始碼分析:Android訊息處理機制原始碼Android
- OC訊息機制和super關鍵字
- Android應用程式訊息處理機制Android