Android核心學習筆記
0、android系統啟動
《The Android boot process from power on》
《Android培訓班(86)核心執行之前的載入程式》 這是一系列文章
1、init
《深入理解android 卷1》 第3章 深入理解init
《Android框架揭祕》第3章 init程序
《Android的init過程(二):初始化語言(init.rc)解析
《Android Init程序原始碼分析》 init.rc解析過程描述詳細,圖文並茂。
《Android情景分析之詳解init程序(以啟動zygote為例)》
2、binder
《Android框架揭祕》第六章 -- 第十章 以生動的形式講述了binder,其中也大量的插圖,但是不夠詳細。值得參考。
《Android系統原始碼情景分析》第五章 描敘詳細,但是不夠生動。值得參考。第六章的6.5小結描述BINDER_TYPE_FD。
《Android_IPC機制與Binder框架》 高煥堂著,形象的描述了從Java層到C++層的binder,偏重應用的實現。
《圖解Android - Binder 和 Service》 描述別樹一幟,形象生動,強烈推薦。
《Android Binder執行緒》 重點描述了binder執行緒的建立
《淺析android中getStrongProxyForHandle函式動態申請索引對應的記憶體空間
《紅茶一杯話Binder(ServiceManager篇)》
3、Ashmem(Anonymous Shared Memory) 匿名記憶體共享
《Android系統原始碼情景分析》第六章 描敘詳細。
《Android技術內幕》第二章 2.3.2小結 描述的比較簡單,但是對於《Android系統原始碼情景分析》第六章的描述可以起到補充的作用。
《3.2.1 匿名共享記憶體(1)》 《Android安全機制解析與應用實踐》第3章
4、activity
《Android系統原始碼情景分析》第七章 activity啟動過程描敘詳細。
《Android的設計與實現》 package manager篇(第8~9章)主要講解了package manager的機制與實現,以及apk的安裝方法與過程;activity manager篇(第10~12章)深入闡述了activitymanagerservice的執行機制、應用程式和程序的啟動流程,以及程序管理機制。
《Android核心剖析》第十章 AMS內部原理
《解開Android應用程式元件Activity的”singleTask”之謎》
《android Application Component研究之Activity(一)》比較詳細的描述了“task管理”,即startActivityUncheckedLocked函式(主要是處理activity的launchMode和intent的flag)
《android Application Component研究之Activity(二)》
《android:clearTaskOnLaunch的用法》
《Android 筆記之 clearTaskOnLaunch&finishOnTaskLaunch》
《FLAG_ACTIVITY_RESET_TASK_IF_NEEDED》
《Activity啟動建立 (AcitivtyManageService,ActivityThread,Activity)》
5、service
《Android系統原始碼情景分析》第八章 service啟動過程描敘詳細。
《android Application Component研究之Service》 有Forground屬性的描述,有unbind過程的分析。
《Android服務之Service(其一)》 有生命週期圖,有例子。
《Service》google官方描述。
6、BroadcastReceiver
《Android系統原始碼情景分析》第九章 broadcast receiver啟動過程描敘詳細
《android Application Component研究之BroadcastReceiver》有broadcast傳送和分發過程的描述,有Protected Broadcast的講解,有broadcast超時的過程分析。
7、ContentProvider
《android Application Component研究之ContentProvider》
8、Mashup設計思想
《Android開發精要》3.1 基於Mashup的應用設計
9、屬性系統(property system)
《Android平臺上使用屬性系統(property system)》
《Android Property System | Android屬性系統》
《深入理解android 卷1》 第3章 3.2.4 屬性系統
《Android框架揭祕》第3章 init程序 3.6 屬性服務
《Android 系統屬性SystemProperty分析》
《SEAndroid安全機制對Android屬性訪問的保護分析》
《Android 的系統屬性(SystemProperties)分析》
《Android 屬性系統設計分析》 有__libc_prenit的分析
10、建立裝置節點檔案uevent
《Android框架揭祕》第3章 init程序 3.4建立裝置節點檔案
《基於android2.3.5系統:開天闢地Android啟動機制[二]》
《基於android2.3.5系統:開天闢地Android啟動機制[三]》
《android ueventd 本地native部分原始碼分析》
11、zygote和system_server
《深入理解android 卷1》 第4章 深入理解zygote
《Android框架揭祕》第5章 Zygote
《Android系統原始碼情景分析》第11章 Zygote和System程序的啟動過程
《Android核心剖析》第15章 15.6 Framework資源
《圖解Android - Zygote, System Server 啟動分析》
12、程序管理和OOM
《深入理解Android 卷2》 第6章 6.6 AMS中的程序管理 從部分程式碼角度講解,不是很詳細;
《Android開發精要》第5章 元件生命週期解析 5.2 應用程序託管 -- 從上層角度描述為何要程序託管及託管的演算法
《Android核心剖析》第十章 AMS內部原理 10.2 記憶體管理
《Android程式碼記憶體優化建議-OnTrimMemory優化》
13、Android編譯系統
《Android核心剖析》 第18章 Android編譯系統
《Android核心原理與系統應用高效開發》 第2章 編譯結構和各種構建
14、WMS
《Android 4.4(KitKat)視窗管理子系統 - 體系框架》
15、電池
《android 電池(二):android關機充電流程、充電畫面顯示》
《android電池(四):電池 電量計(MAX17040)驅動分析篇》
《android電池(五):電池 充電IC(PM2301)驅動分析篇》
16、input系統
《Android4.0 input事件輸入流程詳解(中間層到應用層)》
《安卓4.1: input系統從frameworks到kernel 》
17、記憶體洩露
18、intent
《Android開發之旅: Intents和Intent Filters(理論部分)》
20、Dalvik
《Android開發工具ADB教程之三:Dalvik虛擬機器之jdwp執行緒》
《Android培訓班(54)虛擬機器的歷史》 這是一個系列文章
《Android 訊號處理面面觀 之 trace 檔案含義》
《Java中System.loadLibrary() 的執行過程》
21、View
《Android 屬性動畫 原始碼解析 深入瞭解其內部實現》
《Android應用程式UI硬體加速渲染的動畫執行過程分析》
22、AMS
《ActivityManagerService分析一:AMS的啟動》
23、資源
《在android中增加公用資源包(類似framework-res.apk)》
《Android APK應用安裝原理(1)-解析AndroidManifest原理-PackageParser.parserPackage》
《Android應用資源---其他資源型別(More Types)(一)》
《Android應用資源---其他資源型別(More Types)(二)》
《Android應用資源---其他資源型別(More Types)(三)》
《Android xml資原始檔中@、@android:type、@*、?、@+含義和區別》
《android三個特殊的資源目錄 /res/xml /res/raw 和 /assets》
《Android字串進階之三:字型屬性及測量(FontMetrics)》
《Styling Views on Android (Without Going Crazy)》
《Android學習系列(39)--Android主題和樣式之系統篇(上)》
《Android學習系列(40)--Android主題和樣式之系統篇(下)》
《Android系統自帶樣式(android:theme)》
24、android:persistent屬性
《Android: HowTo設定app不被系統kill掉》
25、Handler、Looper和MessageQueue
《Handler Looper MessageQueue 詳解》
26、debuggerd
27、log
《Android應用程式框架層和系統執行庫層日誌系統原始碼分析》
《android中BuildConfig.DEBUG的使用》
28、DropBox
《介紹 Android DropBoxManager Service》
29、AppOpsManager
30、ADB
31、BackupManagerService
《第十五篇 Android 的Backup服務管理機制與架構分析》
32、UserManager 多使用者機制
33、DisplayManager 多螢幕機制
《DisplayContent、StackBox、TaskStack筆記》
《第十七篇 --ANDROID DisplayManager 服務解析一》
《Android WifiDisplay分析一:相關Service的啟動》