首頁>技術>

Android Framework 的知識有多重要,其廣泛的應用在各個領域。像掉幀監控,函式插裝,慢函式檢測,ANR 監控,啟動監控,都需要對 Framework 有比較深入的了解,才能知道怎麼去做監控,利用什麼機制去監控,函式插樁插到哪裡,反射呼叫該反射哪個類哪個方法哪個屬性……

另外 Framework 作為 Android 框架層,為 App 提供了眾多 API 去呼叫 ,但是很多機制都是 Framework 包裝好了給 App 來用的,如果不知道這些機制的原理,那麼很難去在這基礎上做優化。

舉個例子,如果你了解 Android App 的啟動機制,優化啟動速度的時候會更得心應手:定製什麼樣的 StartingWindow;什麼時候可以拿到圖片的寬高;DelayLoad 怎麼做才會更合適;Service 什麼時候啟動可以不影響啟動速度;Activity onResume 回撥的時候真的可見了麼?Redex 為什麼會加快應用啟動速度?

再比如我們經常說的 Handler,MessageQueue,Looper。看原始碼你就可以更好的理解那些概念:ThreadLocal 做什麼的;Thread 和 Handler 的關係;為什麼不能在子執行緒更新 UI?

還有很多栗子,這裡就不一一論述學習Android Framework的重要性了。

如何學習Android Framework

既然Framework這麼重要,那我們該如何學習呢?

關於如何學習Android Framework開發知識,最近小編有幸在位元組跳動總監手裡扒到這份Android framework高階開發筆記,部分知識章節釋出到了在知乎上竟然1716個點贊,今天就拿出來分享給大家。

本筆記主要講解了Framework的主要模組:

第一章: 深入解析BinderBinder機制作為程序間通訊的一種手段,基本上貫穿了andorid框架層的全部。所以首先必須要搞懂的Android Binder的基本通訊機制。本章知識點

第二章: 深入解析Handler相信大家都有這樣的感受:網上分析 Handler 機制原理的文章那麼多, 為啥還要畫蛇添足整理這份筆記呢?不是說前人們寫的文章不好,我就是覺得他們寫的不細, 有些點不講清楚,邏輯很難通順的,每次我學個什麼東西時遇到這種情況都賊難受。

本章先巨集觀理論分析與 Message 原始碼分析,再到MessageQueue 的原始碼分析,Looper 的原始碼分析,handler 的原始碼分析,Handler 機制實現原理總結。最後還整理Handler 所有面試題大全解析。

Handler這章內容很長,但思路是循序漸進的,如果你能堅持讀完我相信肯定不會讓你失望。

第三章: Dalvik VM 程序系統

Andorid系統啟動、init 程序、Zygote、SystemServer啟動流程、 應用程式的建立使用,Activity的建立、銷燬 Handler和Looper。

第四章深入解析 WMS

視窗管理框架 系統動畫框架 View的工作原理。

第五塊 PackagerManagerService

包管理服務。 資源管理相關類

由於篇幅原因,這份純手寫筆記已經被整理成了PDF文件,有需要AndroidFramework開發筆記完整文件的麻煩關注+轉發+私信【學習】即可獲取資料免費領取方式!

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Python中的API構建指南:在Flask中進行API開發