網絡編程

2 、Handler消息機制異步

.MessageQueueide

MessageQueue是消息隊列的意思,它主要用來存放經過 Handler發送的消息。經過 HandlerMessageQueue發送的消息會存在中等待處理。它是一個按 Message的when排序的優先級隊列。(when:表明着被處理的時間工具

.Looperoop

LooperMessageQueue是每一個線程中的的管家。調用 Looper的loop(方法後,就會進入到一個無線循環中而後一發現 MessageQueue中存在一條消息,就會將它取出,並傳遞到 HandlerHandle的方法中
Handler線程

Handler主要用於發送消息和處理消息通常使用對象的 sendMessage(方法發送消息,消息通過一系列處理後,最終會傳遞到對象

HandlerhandlerMessage方法中發送即時消息: sendMessageMessage msg排序

發送延時消息: sendMessageDelayedMessage msg. long time)處理消息 handleMessageMessage msg回調方法移除還未處理的消息: removeMessagesint what)隊列

二、AsyncTaskrem

爲了方便子線程中對U進行操做, Android提供了一些好用的工具類到主線程,它的原理也是基於異步消息處理機制的AsyncTaskAsyncTask就是其中之一。藉助,能夠十分簡單地從子線程切換
AsyncTask是一個抽象類,它有三個泛型參數,分別以下所示:
Params:執行異步任務時須要傳入的參數,用於後合任務中使用
Progress後臺任務執行時,若是須要在界面上顯示當前的進度,則使用該參數做爲進度單位
Result:當任務執行完畢後,若是須要對結果進行返回時,則使用該參數做爲返回值類型消息隊列

相關文章
相關標籤/搜索