Handler總結(jié)

先給大家上個(gè)圖,自己畫(huà)的不對(duì)請(qǐng)指正。

Handler.png

有一天Handler 外出旅行 買(mǎi)了許多違禁品不讓帶回去(Message),只好寫(xiě)了一份清單(MessageQueue)給 Looper管家 管家按照清單依次發(fā)送回家給Hander接收。

一個(gè)Thread 可以有多個(gè)Handler ,每個(gè)handler只能對(duì)應(yīng)一個(gè)Looper。

Android 中的 Handler 在應(yīng)用的生命周期中扮演著不可缺少的角色。它是構(gòu)成半同步/半異步模式架構(gòu)的基礎(chǔ)。許多內(nèi)部和外部的代碼都依賴(lài) Handler 去異步地分發(fā)事件,它能以最小的代價(jià)去維持線(xiàn)程安全。
更深入地理解組件的工作方式能夠幫助解決疑難雜癥。這也能讓我們以最佳的方法使用組件的 API。我們通常將 Handler 作為工作線(xiàn)程和UI線(xiàn)程間的通信機(jī)制,但 Handler 并不僅限于此。它出現(xiàn)在 IntentService[6], 和 Camera2[7] 和許多其它的 API 中。在這些 API 調(diào)用中,Handler 更多情形下是被用作任意線(xiàn)程間的通信工具。
在深入理解了 Handler 的原理后,我們能運(yùn)用其構(gòu)建更有效率、更簡(jiǎn)潔、更健壯的應(yīng)用程序。

參考:https://gold.xitu.io/entry/57fc9e937db2a20059628aa6

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,288評(píng)論 25 708
  • 本文主要是梳理一下 Handler 的相關(guān)知識(shí),不會(huì)每個(gè)點(diǎn)都講的很細(xì),關(guān)鍵在于每個(gè)知識(shí)點(diǎn)的融匯貫通。 一、Andr...
    Tyler閱讀 507評(píng)論 0 6
  • 背景 最近在使用Handler,想搞清楚他的原理,在網(wǎng)上看了好幾篇文章都看的云里霧里的,直到看到了任玉剛老師的文章...
    Luckily_Liu閱讀 2,927評(píng)論 6 23
  • 非常遺憾的是,在一些官方的教學(xué)文檔中,甚至是Android和iOS的教學(xué)文檔中的例子中,也會(huì)出現(xiàn)View和Mode...
    余生筑閱讀 558評(píng)論 0 1
  • 本章將學(xué)習(xí)創(chuàng)建和引發(fā)自定義的異常,以及處理異常的各種方法。 8.1 什么是異常 程序運(yùn)行中的錯(cuò)誤或者不期望發(fā)生的事...
    tangyefei閱讀 944評(píng)論 0 3