1. 程式人生 > >Android核心學習筆記

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發現之旅之輸入事件如何在應用端傳遞

 

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)

淺談Android的資源編譯過程

 

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的啟動

 

34、Vold

Android vold 工作流程分析