《深入浅出Android原始码》全称《深入浅出Android原始码:基于Android6.0和实际开发案例剖析》,作者何军,由电子工业出版社2017年5月出版。
基本介绍
- 书名:深入浅出Android原始码:基于Android6.0和实际开发案例剖析
- 作者:何军
- ISBN:978-7-121-30487-3
- 页数:544
- 定价:99.00
- 出版社:电子工业出版社
- 出版时间:2017年5月
- 开本:16
内容提要
《深入浅出Android原始码:基于Android6.0和实际开发案例剖》基于Android6.0原始码和实际案例,分析Android系统的框架原理和具体实现。由于Android框架里模组众多,《深入浅出Android原始码:基于Android6.0和实际开发案例剖》只详细分析了框架里的一部分模组,涉及这些模组的原理、架构及代码实现等各个细节,儘量做到让读者知其然,又知其所以然。在Android官方网站,Android分了4层,从高到低分别是应用程式层、应用程式框架层、系统库层和Linux核心层。《深入浅出Android原始码:基于Android6.0和实际开发案例剖》主要涉及应用程式层、应用程式框架层和系统库层。
希望读者通过《深入浅出Android原始码:基于Android6.0和实际开发案例剖》,能对Android有个更全面、更深入的理解。《深入浅出Android原始码:基于Android6.0和实际开发案例剖》面向的读者主要是Framework框架工程师、系统开发工程师、套用开发工程师和ROM开发工程师。
目录
第一部分Android基础篇
第1章Android简介.2
1.1Android简介2
1.2阅读Android原始码6
第2章Android基础类.10
2.1Android基础类简介10
2.2Thread类原理11
2.3Mutex与Condition20
2.3.1Mutex(AutoMutex)分析20
2.3.2Condition代码分析24
2.4Android系统智慧型指针30
2.4.1轻量级指针(lp)30
2.4.2强指针(sp)32
第3章Android上下文环境Context37
3.1Context简介37
3.2Application运行上下文环境Context的创建过程40
3.2.1创建ApplicationContext41
3.2.2获得ApplicationContext47
3.3Activity运行上下文环境Context的创建过程48
3.4Service运行上下文环境Context的创建过程55
第4章Android讯息机制59
4.1Android讯息机制原理59
4.2创建讯息伫列和进入讯息循环过程61
4.3讯息的传送过程70
4.4讯息的处理过程75
第二部分Android框架篇
第5章AndroidInit进程.78
5.1AndroidInit进程简介78
5.2klog_init()函式83
5.3process_kernel_cmdline()函式85
5.4signal_handler_init()函式86
5.5property_load_boot_defaults()函式.89
5.6属性服务90
5.6.1属性服务的初始化与启动90
5.6.2属性的设定91
5.6.3属性值的获取95
5.7解析init.rc配置档案和启动service进程96
5.7.1init.rc档案基础介绍96
5.7.2解析init.rc档案.100
5.7.3启动service进程104
第6章开机动画bootanimation108
6.1开机动画bootanimation原理108
6.2开机动画bootanimation的显示过程111
6.3开机动画bootanimation的退出过程127
第7章Zygote进程135
7.1Zygote进程基础介绍135
7.2Zygote进程的启动139
7.2.1调用startVM()函式启动虚拟机143
7.2.2调用startReg()函式注册JNI方法143
7.2.3调用ZygoteInit类的main()方法145
7.3启动system_server进程.150
7.4启动APP应用程式进程155
第8章SystemServer进程161
8.1SystemServer系统服务161
8.2SystemServer创建框架核心服务165
第9章Android系统的开机与关机175
9.1Android系统的开机175
9.2Android系统的关机185
9.3案例分析197
9.3.1Android系统开机时间标誌197
9.3.2Android系统关机时间标誌198
第10章Android系统异常问题.199
10.1addr2line工具.199
10.2Watchdog207
10.3Android系统异常问题217
10.3.1Android当机218
10.3.2Android系统重启220
10.3.3Android系统启动异常233
第11章ActivityManagerService236
11.1ActivityManagerService简介.236
11.2Activity的启动过程240
11.2.1LauncherActivity的onPause()过程241
11.2.2LauncherActivity的onStop()过程261
11.2.3新Activity的onCreate()、onStart()和onResume()过程264
11.3Service的启动过程273
11.4Broadcast.280
11.4.1广播的注册过程282
11.4.2广播的传送过程290
11.4.3广播的处理过程295
11.5 进程记忆体管理303
11.6 案例分析.320
11.6.1与Activity有关的例子320
11.6.2与BroadCast有关的例子323
11.6.3与进程记忆体有关的例子329
第12章Android国际化331
12.1CTS与GTS331
12.2全球紧急电话策略337
12.3Android多语言345
第三部分AndroidROMUI篇
第13章Android资源管理系统354
13.1资源管理简介354
13.2资源初始化过程361
13.2.1AssetManager的构造方法369
13.2.2AssetManager.java的addAssetPath()方法.374
13.2.3Resources的构造方法375
13.3资源查找、解析、创建View过程378
13.3.1查找资源ID对应的不是档案的过程380
13.3.2查找资源ID对应的是档案的过程382
13.4主题换肤实现396
第14章AndroidView系统411
14.1View系统简介411
14.2应用程式Activity的创建412
14.3Activity视窗对象PhoneWindow的创建424
14.4Activity根视图对象DecorView的创建432
14.5ViewRootImpl的创建和添加DecorView对象440
14.6View的measure、layout和draw过程453
14.6.1View的measure过程462
14.6.2View的layout过程473
14.6.3View的draw过程.478
14.7View事件分发493
14.8案例分析503
第15章Android控制项.512
15.1Android系统控制项分析512
15.1.1系统控制项简介512
15.1.2系统控制项TextView的属性.514
15.1.3系统控制项TextView的onMeasure()517
15.1.4系统控制项TextView的onLayout()523
15.1.5系统控制项TextView的onDraw()523
15.2自定义控制项524
15.2.1定义自定义控制项属性525
15.2.2实现自定义控制项525
15.2.3使用自定义控制项527
15.3Android控制项案例分析527