Android之内核学习笔记

193 阅读9分钟

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)

浅谈Android的资源编译过程

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的启动

\

34、Vold

Android vold 工作流程分析