為什么要學Android Framework
想要成為一名優秀的Android開發,你需要一份完備的 知識體系,在這里,讓我們一起成長為自己所想的那樣~,
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高級開發筆記,部分知識章節發布到了在知乎上竟然1000+點贊,今天就拿出來分享給大家,
本筆記主要講解了Framework的主要模塊:
第一章: 深入決議Binder
Binder機制作為行程間通信的一種手段,基本上貫穿了andorid框架層的全部,所以首先必須要搞懂的Android Binder的基本通信機制,
本章知識點
- Binder 系列—開篇
- Binder Driver 初探
- Binder Driver 再探
- Binder 啟動 ServiceManager
- 獲取 ServiceManager
- 注冊服務(addService)
- 獲取服務(getService)
- Framework 層分析
- 如何使用 Binder
- 如何使用 AIDL
- Binder 總結
- Binder 面試題全決議
第二章: 深入決議Handler
相信大家都有這樣的感受:網上分析 Handler 機制原理的文章那么多, 為啥還要畫蛇添足整理這份筆記呢?不是說前人們寫的文章不好,我就是覺得他們寫的不細, 有些點不講清楚,邏輯很難通順的,每次我學個什么東西時遇到這種情況都賊難受,
本章先宏觀理論分析與 Message 原始碼分析,再到MessageQueue 的原始碼分析,Looper 的原始碼分析,handler 的原始碼分析,Handler 機制實作原理總結,最后還整理Handler 所有面試題大全決議,
Handler這章內容很長,但思路是循序漸進的,如果你能堅持讀完我相信肯定不會讓你失望,
第三章: Dalvik VM 行程系統
Andorid系統啟動、init 行程、Zygote、SystemServer啟動流程、 應用程式的創建使用,Activity的創建、銷毀 Handler和Looper,
第四章深入決議 WMS
視窗管理框架 系統影片框架 View的作業原理,
第五塊 PackagerManagerService
包管理服務, 資源管理相關類
由于篇幅原因,這份純手寫筆記已經被整理成了PDF檔案,有需要AndroidFramework開發筆記完整檔案的麻煩點贊+評論【1】即可獲取資料免費領取方式!
本文在開源專案:https://github.com/Android-Alvin/Android-LearningNotes 中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中…
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60513.html
標籤:其他







