從應用層深入Framework層,Android Framework 該如何學習?

對於咱們Android開發來說,一般來說都是幹上個幾年之後,都得要考慮進階或者是轉行的問題。但老話說轉行窮三年,不到萬不得已我想大多數人都不會去放棄現在的崗位與薪資

如果你還在干Android並且想要進階,那麼對Framework的了解是必不可少的,從應用層深入向Framework層也是必然的。

Android架構

Android 平台的基礎是 Linux 內核。 Android Runtime (ART/Dalvik) 依靠 Linux 內核來執行底層功能,例如線程和低層內存管理等。

而在Android Runtime之上就是我們經常接觸的Java API Framework層, 如下圖是Android的系統架構圖

為何要學Android Framework?

很多應用層開發者包括我一開始都覺得開發上層應用為什麼要了解這些關於系統代碼的知識,其實作為應用層開發了解一些Framework層的源碼及原理是非常有必要的,我總結大概有如下幾點:

  1. 了解系統組件工作機制,有助於我們解決問題,畢竟我們平時用的四大組件都是系統給我們創建好的,了解了系統組件工作機制,至少在看問題日誌的調用棧可以更加清晰。
  2. Android作為Linux上一款非常優秀的操作系統,學習Android操作系統,可以提高我們對操作系統在實現上的理解,可以讓我們的技術更進一步。

如何學習Framework

上面大致列了Android系統的層級, 這裡就要對每個層級所需要的相關知識做如下列舉,這些僅僅只是羅列了很少一部分,有時間之後會進行補充,想要學明白這些點都需要花費大家非常多的精力, 但現在很多人迫在眉睫想要學好學會Framework關於如何學習Android Framework開發知識,仍在迷茫的開發們可以參考整理的這份進階文檔《Android Framework 源碼開發手冊》,今天在這裡分享給大家:

獲取方法: 關注公眾號<Android苦做舟> 領取這些開發文檔。

1.Android高級開發工程師必備基礎技能
2.Android性能優化核心知識筆記
3.Android+音視頻進階開發面試題衝刺合集
4.Android 音視頻開發入門到實戰學習手冊
5.Android Framework精編內核解析
6.Flutter實戰進階技術手冊
7.近百個Android錄播視頻+音視頻視頻dome
8.Android Handler機制解析

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

獲取方法: 關注公眾號<Android苦做舟> 領取這些開發文檔

1.Android高級開發工程師必備基礎技能
2.Android性能優化核心知識筆記
3.Android+音視頻進階開發面試題衝刺合集
4.Android 音視頻開發入門到實戰學習手冊
5.Android Framework精編內核解析
6.Flutter實戰進階技術手冊
7.近百個Android錄播視頻+音視頻視頻dome
8.Android Handler機制解析