為什麼我們能在主執行緒直接使用 Handler,而不需要建立 Looper ?
每個Handler 的執行緒都有一個 Looper ,主執行緒當然也不例外,但是我們不曾準備過主執行緒的 Looper 而可以直接使用,這是為何?
注意:通常我們認為 ActivityThread 就是主執行緒。事實上它並不是一個執行緒,而是主執行緒操作的管理者,所以吧,我覺得把 ActivityThread 認為就是主執行緒無可厚非,另外主執行緒也可以說成 UI 執行緒。
在 ActivityThread.main() 方法中有如下程式碼:

Looper.prepareMainLooper(); 程式碼如下:

可以看到 在 ActivityThread 裡 呼叫了 Looper.prepareMainLooper() 方法建立了 主執行緒的 Looper ,並且呼叫了 loop() 方法 ,所以我們就可以直接使用 Handler 了。
注意:Looper.loop() 是個死迴圈,後面的程式碼正常情況不會執行。
接下來小編做了一些關於高階安卓的學習資料及思路,希望能夠幫助到大家學習提升技術。
Java語言進階與Android相關技術核心
Android應用是由Java語言進行開發的,SDK也是由Java語言編寫,所以我們要學習java語言。另外,雖說kotlin語言得到了Android官方的熱推,但是kotlin也是編譯成了java語言再執行的。對於Android來說,只要SDK沒有用kotlin重寫,那麼Java語言是都需要學習的。而且Android apk的後臺伺服器程式大概率是java語言構建,所以學習java也是一種必然。

Android前沿技術
現在去很多公司面試,除了你具備基本的能夠寫一個高效能app的能力後,一般都會在自己的app裡面加一些現有的相對較 666 的技術,這些技術我們稱之為前沿技術。他們一般包含熱升級,熱修復,App Instant,強制更新,元件化路由架構Arouter,RxJava,IOC架構方法,Hook技術等等,當然,這些技術你不能只會用,你需要知道他的原理,有時候,你還需要知道如何對這些架構進行改進。

NDK 模組開發
音視訊/高清大圖片/人工智慧/直播/抖音等等這年與使用者最緊密,與我們生活最相關的技術一直都在尋找最終的技術落地平臺,以前是windows系統,而現在則是移動系統了,移動系統中又是以Android佔比絕大部分為前提,所以Android NDK技術已經是我們必備技能了。

移動架構師
架構師不是天生的,在Android裡面最常用的架構無外乎 MVC,MVP,MVVM,但是這些思想如果和模組化,層次化,元件化混和在一起,那就不是一件那麼簡單的事了,我們需要一個真正身經百戰的架構師才能講解透徹其中蘊含的深理。

需要這些資料的大夥關注+點贊+加群:185873940 免費獲取!
群內還有許多免費的關於高階安卓學習資料,包括高階UI、效能優化、架構師課程、 NDK、混合式開發:ReactNative+Weex等多個Android技術知識的架構視訊資料,還有職業生涯規劃及面試指導。