從從事Android工作的第一天起,你一定聽過無數次關於Framework的討論,也曾在這個版塊被面試官吊錘過N多次。
掉幀監控,函數插樁,慢函數檢測,ANR 監控,啟動監控,都需要對 Framework 有比較深入的了解,才能知道怎麼去監控,利用什麼機制監控,函數插樁插到哪裡,反射調用該反射哪個類哪個方法哪個屬性……
Framework 作為 Android 框架層,為眾多App提供了N多的API來調用,但很多機制都是Framework包裝好直接給 App 來用的,不知道這些機制原理,就無從下手在這基礎上進行優化。
相信所有人開始學習android開發的時候都是從以下這張圖開始的,framework位於hal、系統庫之上,位於app之下。
Framework 即應用框架層,是 Android 架構的關鍵組成部分,為我們開發應用程式提供了非常多的API,使得開發者通過簡單調用API即可開始APP的開發,而不用詳細了解 Android 系統紛繁複雜的底層知識。
為幫助大家了解 Framework 在整個 Android 架構中的功能與構造,系統的學習和掌握Android framework,這裡分享給大家一份《Android Framework開發文檔》,帶你深入探究framework,把Framework扒個精光。
那麼應該如何學習Framework?
關於如何學習Android Framework開發知識,可以參考這份由騰訊大佬總結的《Android Framework 進階學習指南》,今天在這裡分享給大家:
需要的朋友們可以三連支持一下!私信留言 Framework 即可獲取此份資料
1.Framework通信
進程間通信(Binder IPC機制)
- Linux內存binder基礎
- Binder IPC通信原理
- 深入Binder驅動
- Binder面試總結(阿里篇)
進程內通信(Handler消息機制)
- Loop消息泵機制
- Message解析
- Handler面試分享(鵝廠)
實戰企業架構通信
- LiveData事件機制
2.Framework底層服務
AMS原理
- SystemServer加載AMS
- AMS數據結構
- AMS數據結構
- Activtiy棧管理
- 手機開機啟動的AMS流程
- App啟動中的AMS流程
- Activtiy管理
- AMS面試集合
- AMS原理實戰
PMS原理
- Packagelnstaller安裝器流程分析
- PMS源碼解讀
- T10級面試PMS總結
WMS機制
- WMS內核
- Window的創建過程
- 企業級Toast與Window架構體系
- T10級崗位WMS面試總結
3.Framework系統資源
ServiceManager原理
- init.rc文件啟動關鍵服務
- service_ manager進程入口
- ServiceManager消息輪訓
- ServiceManager服務存儲之svclist鍊表
- ServiceManager面試總結
深入Contxt上下文
- Context與ApplicationContext
- Context族譜分析
- Contextmp與ActivityThread
- getActivity()與getContext ()內存區別
- 帶你認識不一樣的上下文Context
深入Resource資源加載
- resources.arsc文件
- ResourcesManager創建Resource
- LoadedApk與Resource關係
4.Framework事件機制
事件分發機制
- Android事件處理的三個流程
- 事件信號從內核到IMS過程
- IMS如何推送數據給ViewRootimp轉入上層
- Android處理Down事件的責任鏈模式
- Android處理Move事件
- 手寫模擬Android事件分發架構
事件衝突解決萬能公式
- 產生衝突事件分類
- 產生衝突事件分類
- 事件衝突優先級
- 事件衝突模擬實戰
5.Framework UI機制
UI繪製原理
- setContentView加載數據的核心概念
- ViewRootlmpl的繪製管理
- Choreographer編舞者
- 測量機制(onMeasure)
- 擺放機制(onLayout)
- T10級面試UI繪製總結
UI自定義實戰
- RecycleView
- Webview
- ViewPager
最後
Framework學習內容大致就介紹到這裡,相信這份資料一定可以為大家在FrameWork的學習上提供強有力的幫助,讓你快人一步成為真正的高級Android開發者,由於文章內容比較多,篇幅有限,資料已經被整理成了PDF文檔,有需要《Android Framework進階學習指南》完整文檔的可以私信留言 Framework 即可獲取。