android原始碼學習-Handler機制及其六個核心點
一、Handler機制介紹
1.1 Handler是什麼?
Handler是安卓中很常用的一種機制,其主要用於執行緒之間的通訊。
1.2 為什麼要了解Handler原理?
之前我在一個群裡面聊天,說面試經常會問到handler,然後就被噴了,說現在都是MVVM,ViewBinding一類的架構,誰還用handler呀。確實,現在安卓上面封裝的框架越來越多,也讓我們使用起來越來越輕鬆,使用Handler的場景也會越來越少。但是使用的少,不代表沒有用。現有的這些框架,甚至可預見的未來框架,都是基於Handler機制的。
打一個比方,我們普通人開車,也許只要會開就行,不必瞭解汽車的原理。但是如果你想成為一個賽車手,那麼對汽車執行的機制和原理,還是要有一定的瞭解的。
最後,瞭解handler原理有哪些好處呢?
1.handler機制很經典,這種我們平常敲程式碼的過程中也可以視場景使用。
2.handler其實除了普通的同步訊息,還有屏障訊息和非同步訊息的,我們也可以視場景去使用。
3.handler還提供了閒時機制IdelHandler。
4.通過handler可以幫助我們排查到底是哪裡的程式碼導致卡頓。
上面的這些點,後面文章中都會有詳細的講解。
1.3 Handler對於面試中的作用?
同時Handler也是面試當中經常會被問到的一種安卓機制。
我總結了一下,大約有六個點會被高頻問到,這六個技術點特意用紅字標註,屬於面試中很容易被問到的技術點。
例如:技術點1
二、Handler原理概述
如下圖所示:安卓中Handler的機制是子執行緒中獲取一個Handler物件,通過這個Handler物件像MessageQueue中傳送任務。主執行緒中開啟一個無限死迴圈,不斷的從MessageQueue中取Message任務,如果取到了就執行Messagez中的任務,如果沒有取到則進入休眠狀態。
幾個涉及到的重要的物件
Handler:一般要在主執行緒中建立,持有一個主執行緒的Looper,負責向主執行緒進行message分發。
Message:可以理解為task,任務執行的單元。
MessageQueue:裡面是一個單連結串列,單連結串列儲存Message任務。
Looper:負責處理Message任務,其loop方法在主執行緒中開啟無限迴圈。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010128/viewspace-2871309/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Android原始碼】Handler 機制原始碼分析Android原始碼
- Android 原始碼分析(二)handler 機制Android原始碼
- Android Handler機制使用,原始碼分析Android原始碼
- Android原始碼學習之handlerAndroid原始碼
- Android 9.0 原始碼_機制篇 -- 全面解析 HandlerAndroid原始碼
- Android--Handler機制及原始碼詳解Android原始碼
- Android Handler訊息機制原始碼解讀Android原始碼
- Android 原始碼分析 --Handler 機制的實現與工作原理Android原始碼
- Android Handler機制理解Android
- Android執行緒間訊息機制-Handler原始碼分析(FrameWork)Android執行緒原始碼Framework
- 原始碼深度解析 Handler 機制及應用原始碼
- Android Handler機制之Handler 、MessageQueue 、LooperAndroidOOP
- React 原始碼學習(五):事件機制React原始碼事件
- android訊息機制—HandlerAndroid
- Android訊息機制HandlerAndroid
- Android Handler機制詳解Android
- Handler訊息處理機制原始碼解析 上原始碼
- Android學習-HandlerAndroid
- 學習 Android Handler 訊息機制需要注意這些問題!Android
- Android Handler 原始碼解析Android原始碼
- Android Handler 原始碼探索Android原始碼
- Android——Handler原始碼分析Android原始碼
- Android Handler機制之ThreadLocalAndroidthread
- Android訊息機制Handler用法Android
- Android 8.1 Handler 原始碼解析Android原始碼
- JVMTI Attach機制與核心原始碼分析JVM原始碼
- 六點概括短影片系統原始碼的實用功能機制原始碼
- Android Handler 訊息機制詳述Android
- Android的Handler訊息機制 解析Android
- Android Handler機制之總目錄Android
- Android學習筆記·HandlerAndroid筆記
- Android:Handler學習總結Android
- Android Handler機制之Message及Message回收機制Android
- Android開發Handler原始碼分析Android原始碼
- Handler機制解析
- Handler機制原理
- Handler 機制分析
- Android 的 Handler 機制實現原理分析Android