天天看點

Android之核心學習筆記

0、Android系統啟動

《Android系統啟動流程 -- bootloader》

《The Android boot process from power on》

《Android 啟動過程介紹》

《Android教育訓練班(86)核心運作之前的引導程式》 這是一系列文章

《Android 分區挂載》

1、init

《深入了解android 卷1》 第3章 深入了解init

《Android架構揭秘》第3章 init程序

《Android的init過程詳解(一)》

《Android的init過程(二):初始化語言(init.rc)解析》

《Android系統初始化開始位置及流程分析》

《Android的初始化語言腳本init.rc解析》

《Android Init程序源碼分析》 init.rc解析過程描述詳細,圖文并茂。

《Android Init程序分析》

《Android情景分析之詳解init程序(以啟動zygote為例)》

2、binder

《Android架構揭秘》第六章 -- 第十章 以生動的形式講述了binder,其中也大量的插圖,但是不夠詳細。值得參考。

《Android系統源代碼情景分析》第五章 描叙詳細,但是不夠生動。值得參考。第六章的6.5小結描述BINDER_TYPE_FD。

《Android_IPC機制與Binder架構》 高煥堂著,形象的描述了從Java層到C++層的binder,偏重應用的實作。

《Android Binder通信》

《ServiceManager 程序啟動源碼分析》

《圖解Android - Binder 和 Service》 描述别樹一幟,形象生動,強烈推薦。

《Android Binder線程》 重點描述了binder線程的建立

《本地Binder架構通信原理》

《Binder 機制詳解—Binder 系統架構》

《淺析android中getStrongProxyForHandle函數動态申請索引對應的記憶體空間》

《紅茶一杯話Binder(ServiceManager篇)》

3、Ashmem(Anonymous Shared Memory) 匿名記憶體共享

《Android系統源代碼情景分析》第六章 描叙詳細。

《Android技術内幕》第二章 2.3.2小結 描述的比較簡單,但是對于《Android系統源代碼情景分析》第六章的描述可以起到補充的作用。

《3.2.1 匿名共享記憶體(1)》 《Android安全機制解析與應用實踐》第3章

《3.2.1 匿名共享記憶體(2)》

《3.2.1 匿名共享記憶體(3)》

《Android Ashmem相關介紹》

4、activity

《Android系統源代碼情景分析》第七章 activity啟動過程描叙詳細。

《Android的設計與實作》 package manager篇(第8~9章)主要講解了package manager的機制與實作,以及apk的安裝方法與過程;activity manager篇(第10~12章)深入闡述了activitymanagerservice的運作機制、應用程式和程序的啟動流程,以及程序管理機制。

《Android核心剖析》第十章 AMS内部原理

《解開Android應用程式元件Activity的”singleTask”之謎》

《Activity啟動分析》

《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》

《android:clearTaskOnLaunch》

《Android開發之旅:活動與任務》

《Activity啟動建立 (AcitivtyManageService,ActivityThread,Activity)》

《深入了解Activity啟動流程》

5、service

《Android系統源代碼情景分析》第八章 service啟動過程描叙詳細。

《android Application Component研究之Service》 有Forground屬性的描述,有unbind過程的分析。

《Android服務之Service(其一)》 有生命周期圖,有例子。

《Service》google官方描述。

《Android 中的 Service 全面總結》

《android如何保證service不被殺死》

6、BroadcastReceiver

《Android系統源代碼情景分析》第九章 broadcast receiver啟動過程描叙詳細

《android Application Component研究之BroadcastReceiver》有broadcast發送和分發過程的描述,有Protected Broadcast的講解,有broadcast逾時的過程分析。

7、ContentProvider

《android Application Component研究之ContentProvider》

《存儲檔案的ContentProvider》

8、Mashup設計思想

《Android開發精要》3.1 基于Mashup的應用設計

9、屬性系統(property system)

《android property system 》

《屬性系統代碼分析》

《Android平台上使用屬性系統(property system)》

《Android Property System | Android屬性系統》

《深入了解android 卷1》 第3章 3.2.4 屬性系統

《Android架構揭秘》第3章 init程序 3.6 屬性服務

《Android 系統屬性SystemProperty分析》

《Android情景分析之屬性服務》

《SEAndroid安全機制對Android屬性通路的保護分析》

《Android 的系統屬性(SystemProperties)分析》

《Android 屬性系統設計分析》 有__libc_prenit的分析

10、建立裝置節點檔案uevent

《Android架構揭秘》第3章 init程序 3.4建立裝置節點檔案

《基于android2.3.5系統:開天辟地Android啟動機制[二]》

《基于android2.3.5系統:開天辟地Android啟動機制[三]》

《android之init程序-uevent》

《為Android應用程式讀取/dev下裝置而提權》

《android ueventd 本地native部分源碼分析》

《Android裝置節點的動态管理》

《android提權漏洞CVE-2010-EASY修複》

《Android uevent程序源碼分析》

11、zygote和system_server

《深入了解android 卷1》 第4章 深入了解zygote

《Android架構揭秘》第5章 Zygote

《 Android系統源代碼情景分析 》第11章 Zygote和System程序的啟動過程

《Android核心剖析》第15章 15.6 Framework資源

《Zygote程序啟動過程源代碼分析》

《SystemServer程序啟動過程源碼分析》

《圖解Android - Zygote, System Server 啟動分析》

12、程序管理和OOM

《深入了解Android 卷2》 第6章 6.6 AMS中的程序管理 從部分代碼角度講解,不是很詳細;

《Android開發精要》第5章 元件生命周期解析 5.2 應用程序托管 -- 從上層角度描述為何要程序托管及托管的算法

《Android核心剖析》第十章 AMS内部原理 10.2 記憶體管理

《Android 作業系統的記憶體回收機制》

《android 2.3 應用管理機制分析》

《Android記憶體管理機制詳解》

《Android記憶體閥值修改--記憶體回收機制配置》

《Linux 2.6 中的頁面回收與反向映射》

《Android記憶體管理原理》

《Android Low memory killer》

《Android 系統記憶體分析》

《Android開發:性能最佳實踐-管理應用記憶體》

《Android代碼記憶體優化建議-OnTrimMemory優化》

13、Android編譯系統

《Android核心剖析》 第18章 Android編譯系統

《Android核心原理與系統應用高效開發》 第2章 編譯結構和各種建構

《Android編譯系統參考手冊》

14、WMS

《Android 4.4(KitKat)視窗管理子系統 - 體系架構》

15、電池

《android 電池(一):锂電池基本原理篇》

《android 電池(二):android關機充電流程、充電畫面顯示》

《android 電池(三):android電池系統》

《android電池(四):電池 電量計(MAX17040)驅動分析篇》

《android電池(五):電池 充電IC(PM2301)驅動分析篇》

《android 2.3 電量管理》

16、input系統

《android 實體按鍵》

《InputMonitor筆記》

《Android之input系統流程》

《Android之Input子系統事件分發流程》

《Android Input Framework(一)》

《Android4.0 input事件輸入流程詳解(中間層到應用層)》

《Android 4.2 Input 流程分析》

《安卓4.1: input系統從frameworks到kernel 》

《Android輸入輸出機制之來龍去脈之前生後世》

《android發現之旅之輸入事件如何在應用端傳遞》

《Android觸摸屏事件派發機制詳解與源碼分析一(View篇)》

17、記憶體洩露

《Android中native程序記憶體洩露的調試技巧》

18、intent

《Android開發之旅: Intents和Intent Filters(理論部分)》

20、Dalvik

《 Dalvik虛拟機程序和線程的建立過程分析》

《Android開發工具ADB教程之三:Dalvik虛拟機之jdwp線程》

《Android教育訓練班(54)虛拟機的曆史》 這是一個系列文章

《Android 信号處理面面觀 之 trace 檔案含義》

《Java中System.loadLibrary() 的執行過程》

21、View

《android文本布局引擎》

《Android Text Layout 架構》

《ViewGroup源碼分析》

《Android TextView顯示中文不對齊問題》

《Android 屬性動畫 源碼解析 深入了解其内部實作》

《Android應用程式UI硬體加速渲染的動畫執行過程分析》

22、AMS

《ActivityManagerService分析一:AMS的啟動》

23、資源

《framework資源檔案》

《如何在Android中寫和使用一個自定義的java庫》

《如何為Android系統添加一個新的資源包》

《淺談Android的資源編譯過程》

《在android中增加公用資源包(類似framework-res.apk)》

《Android APK應用安裝原理(1)-解析AndroidManifest原理-PackageParser.parserPackage》

《Android 資源類型 整理》

《res與res-auto的差別》

《Android中自定義屬性的兩種方法》

《Android應用資源---樣式資源類型(Style)》

《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)》

《Andriod中Style/Theme原理以及Activity界面檔案選取過程淺析》

24、android:persistent屬性

《android persistent屬性研究》

《Android: HowTo設定app不被系統kill掉》

《android裡面的程序回收機制》

《說說Android應用的persistent屬性》

25、Handler、Looper和MessageQueue

《Handler Looper MessageQueue 詳解》

26、debuggerd

《Android debuggerd 源碼分析》

27、log

《解讀Android LOG機制的實作》

《Android架構分析之LOG子產品》

《Android系統開發中LOG的輸出與使用》

《打開Android C檔案中的LOG》

《Android日志系統驅動程式Logger源代碼分析》

《Android應用程式架構層和系統運作庫層日志系統源代碼分析》

《Android日志系統Logcat源代碼簡要分析》

《android log 和logcat 分析(一)》

《android log你不知道的小技巧》

《android中BuildConfig.DEBUG的使用》

《android 代碼優化:關閉輸出日志》

28、DropBox

《介紹 Android DropBoxManager Service》

29、AppOpsManager

《Android Kitkat的AppOps》

《Android 4.3 隐藏功能 App Ops 分析》

《AppOpsManager 一次簡單應用》

30、ADB

《android adb adbd analyse》

《android2.3-adb源碼分析》

《Android系統root破解原理分析》

31、BackupManagerService

《第十五篇 Android 的Backup服務管理機制與架構分析》

《BackupManager的使用與解析》

《關于BackupManagerService》

32、UserManager 多使用者機制

《Android4.2多使用者模式的結構與實作》

33、DisplayManager 多螢幕機制

《DisplayContent、StackBox、TaskStack筆記》

《android 擴充螢幕 多屏顯示》

《第十七篇 --ANDROID DisplayManager 服務解析一》

《android wifi display》

《Android WifiDisplay分析一:相關Service的啟動》