訊息機制
如上一篇文章提到的,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方法。
相關文章
- OC訊息機制,訊息轉發機制
- iOS訊息機制iOS
- SAP訊息機制
- 訊息機制篇——初識訊息與訊息佇列佇列
- JMS java 訊息機制Java
- Windows訊息機制概述Windows
- Android訊息機制Message訊息池Android
- Rabbitmq可靠訊息投遞,訊息確認機制MQ
- Android訊息傳遞之Handler訊息機制Android
- flutter 訊息傳遞機制Flutter
- android訊息機制—HandlerAndroid
- RabbitMQ 訊息確認機制MQ
- 理解 Android 訊息機制Android
- 重拾 ObjC 訊息機制OBJ
- 簡析Windows訊息機制Windows
- Kafka 訊息儲存機制Kafka
- Android訊息機制HandlerAndroid
- Android 之訊息機制Android
- Handler訊息傳遞機制
- Android的訊息機制Android
- WebRTC中的訊息機制Web
- WTL的訊息機制 (轉)
- Android非同步訊息機制Android非同步
- Android訊息機制Handler用法Android
- 【RocketMQ】訊息的刷盤機制MQ
- runtime那些事(訊息機制)
- Android 訊息機制詳解Android
- MFC學習(四) 訊息機制
- windows訊息機制與例項Windows
- Android訊息機制(七) RxjavaAndroidRxJava
- 深度剖析訊息反射機制 (轉)反射
- Windows訊息機制初談 (轉)Windows
- RabbitMQ訊息佇列(九):Publisher的訊息確認機制MQ佇列
- Android程式間通訊–訊息機制及IPC機制實現薦Android
- Handler訊息機制完全解析Handler解析
- iOS 訊息轉發機制Demo解析iOS
- Android Handler 訊息機制詳述Android
- Android的Handler訊息機制 解析Android