深入浅出Android源代码:基于Android 6.0和实际开发案例剖析

深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-04
版次: 1
ISBN: 9787121304873
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 544页
字数: 745千字
正文语种: 简体中文
14人买过
  • 本书基于Android 6.0源代码和实际案例,分析Android系统的框架原理和具体实现。由于Android框架里模块众多,本书只详细分析了框架里的一部分模块,涉及这些模块的原理、架构及代码实现等各个细节,尽量做到让读者知其然,又知其所以然。在Android官方网站,Android分了4层,从高到低分别是应用程序层、应用程序框架层、系统库层和Linux内核层。本书主要涉及应用程序层、应用程序框架层和系统库层。 何军,2010年从事Android工作至今,从Android1.6到现在的Android7.0,热爱Android、喜欢钻研、乐于分享。多年的框架开发和应用开发经验,应用商店有多个APP上线作品。热衷于Android源代码的研究,对Android的架构设计和实现原理有深刻的认识和理解。目前就职于某一手机厂商,任职Android Framework框架工程师,负责Framework与APP开发和维护。 第一部分  Android基础篇
    第1章 Android简介 2
    1.1  Android简介 2
    1.2  阅读Android源代码 6
    第2章 Android基础类 10
    2.1  Android基础类简介 10
    2.2  Thread类原理 11
    2.3  Mutex与Condition 20
    2.3.1  Mutex(AutoMutex)分析 20
    2.3.2  Condition代码分析 24
    2.4  Android系统智能指针 30
    2.4.1  轻量级指针(lp) 30
    2.4.2  强指针(sp) 32
    第3章 Android上下文环境Context 37
    3.1  Context简介 37
    3.2  Application运行上下文环境Context的创建过程 40
    3.2.1  创建Application Context 41
    3.2.2  获得Application Context 47
    3.3  Activity运行上下文环境Context的创建过程 48
    3.4  Service运行上下文环境Context的创建过程 55
    第4章 Android消息机制 59
    4.1  Android消息机制原理 59
    4.2  创建消息队列和进入消息循环过程 61
    4.3  消息的发送过程 70
    4.4  消息的处理过程 75
    第二部分  Android框架篇
    第5章 Android Init进程 78
    5.1  Android Init进程简介 78
    5.2  klog_init() 函数 83
    5.3  process_kernel_cmdline() 函数 85
    5.4  signal_handler_init() 函数 86
    5.5  property_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.1  init.rc文件基础介绍 96
    5.7.2  解析init.rc文件 100
    5.7.3  启动service进程 104
    第6章 开机动画bootanimation 108
    6.1  开机动画bootanimation原理 108
    6.2  开机动画bootanimation的显示过程 111
    6.3  开机动画bootanimation的退出过程 127
    第7章 Zygote进程 135
    7.1  Zygote进程基础介绍 135
    7.2  Zygote进程的启动 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.1  SystemServer系统服务 161
    8.2  SystemServer创建框架核心服务 165
    第9章 Android系统的开机与关机 175
    9.1  Android系统的开机 175
    9.2  Android系统的关机 185
    9.3  案例分析 197
    9.3.1  Android系统开机时间标志 197
    9.3.2  Android系统关机时间标志 198
    第10章 Android系统异常问题 199
    10.1  addr2line工具 199
    10.2  Android Watchdog 207
    10.3  Android系统异常问题 217
    10.3.1  Android死机 218
    10.3.2  Android系统重启 220
    10.3.3  Android系统启动异常 233
    第11章 ActivityManagerService 236
    11.1  ActivityManagerService简介 236
    11.2  Activity的启动过程 240
    11.2.1  Launcher Activity的onPause() 过程 241
    11.2.2  Launcher Activity的onStop() 过程 261
    11.2.3  新Activity的onCreate()、onStart()和onResume() 过程 264
    11.3  Service的启动过程 273
    11.4  Broadcast 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.1  CTS与GTS 331
    12.2  全球紧急电话策略 337
    12.3  Android多语言 345
    第三部分  Android ROM UI篇
    第13章 Android资源管理系统 354
    13.1  资源管理简介 354
    13.2  资源初始化过程 361
    13.2.1  AssetManager的构造方法 369
    13.2.2  AssetManager.java的addAssetPath() 方法 374
    13.2.3  Resources的构造方法 375
    13.3  资源查找、解析、创建View过程 378
    13.3.1  查找资源ID对应的不是文件的过程 380
    13.3.2  查找资源ID对应的是文件的过程 382
    13.4  主题换肤实现 396
    第14章 Android View系统 411
    14.1  View系统简介 411
    14.2  应用程序Activity的创建 412
    14.3  Activity窗口对象PhoneWindow的创建 424
    14.4  Activity根视图对象DecorView的创建 432
    14.5  ViewRootImpl的创建和添加DecorView对象 440
    14.6  View的measure、layout和draw过程 453
    14.6.1  View的measure过程 462
    14.6.2  View的layout过程 473
    14.6.3  View的draw过程 478
    14.7  View事件分发 493
    14.8  案例分析 503
    第15章 Android控件 512
    15.1  Android系统控件分析 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.3  Android控件案例分析 527
  • 内容简介:
    本书基于Android 6.0源代码和实际案例,分析Android系统的框架原理和具体实现。由于Android框架里模块众多,本书只详细分析了框架里的一部分模块,涉及这些模块的原理、架构及代码实现等各个细节,尽量做到让读者知其然,又知其所以然。在Android官方网站,Android分了4层,从高到低分别是应用程序层、应用程序框架层、系统库层和Linux内核层。本书主要涉及应用程序层、应用程序框架层和系统库层。
  • 作者简介:
    何军,2010年从事Android工作至今,从Android1.6到现在的Android7.0,热爱Android、喜欢钻研、乐于分享。多年的框架开发和应用开发经验,应用商店有多个APP上线作品。热衷于Android源代码的研究,对Android的架构设计和实现原理有深刻的认识和理解。目前就职于某一手机厂商,任职Android Framework框架工程师,负责Framework与APP开发和维护。
  • 目录:
    第一部分  Android基础篇
    第1章 Android简介 2
    1.1  Android简介 2
    1.2  阅读Android源代码 6
    第2章 Android基础类 10
    2.1  Android基础类简介 10
    2.2  Thread类原理 11
    2.3  Mutex与Condition 20
    2.3.1  Mutex(AutoMutex)分析 20
    2.3.2  Condition代码分析 24
    2.4  Android系统智能指针 30
    2.4.1  轻量级指针(lp) 30
    2.4.2  强指针(sp) 32
    第3章 Android上下文环境Context 37
    3.1  Context简介 37
    3.2  Application运行上下文环境Context的创建过程 40
    3.2.1  创建Application Context 41
    3.2.2  获得Application Context 47
    3.3  Activity运行上下文环境Context的创建过程 48
    3.4  Service运行上下文环境Context的创建过程 55
    第4章 Android消息机制 59
    4.1  Android消息机制原理 59
    4.2  创建消息队列和进入消息循环过程 61
    4.3  消息的发送过程 70
    4.4  消息的处理过程 75
    第二部分  Android框架篇
    第5章 Android Init进程 78
    5.1  Android Init进程简介 78
    5.2  klog_init() 函数 83
    5.3  process_kernel_cmdline() 函数 85
    5.4  signal_handler_init() 函数 86
    5.5  property_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.1  init.rc文件基础介绍 96
    5.7.2  解析init.rc文件 100
    5.7.3  启动service进程 104
    第6章 开机动画bootanimation 108
    6.1  开机动画bootanimation原理 108
    6.2  开机动画bootanimation的显示过程 111
    6.3  开机动画bootanimation的退出过程 127
    第7章 Zygote进程 135
    7.1  Zygote进程基础介绍 135
    7.2  Zygote进程的启动 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.1  SystemServer系统服务 161
    8.2  SystemServer创建框架核心服务 165
    第9章 Android系统的开机与关机 175
    9.1  Android系统的开机 175
    9.2  Android系统的关机 185
    9.3  案例分析 197
    9.3.1  Android系统开机时间标志 197
    9.3.2  Android系统关机时间标志 198
    第10章 Android系统异常问题 199
    10.1  addr2line工具 199
    10.2  Android Watchdog 207
    10.3  Android系统异常问题 217
    10.3.1  Android死机 218
    10.3.2  Android系统重启 220
    10.3.3  Android系统启动异常 233
    第11章 ActivityManagerService 236
    11.1  ActivityManagerService简介 236
    11.2  Activity的启动过程 240
    11.2.1  Launcher Activity的onPause() 过程 241
    11.2.2  Launcher Activity的onStop() 过程 261
    11.2.3  新Activity的onCreate()、onStart()和onResume() 过程 264
    11.3  Service的启动过程 273
    11.4  Broadcast 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.1  CTS与GTS 331
    12.2  全球紧急电话策略 337
    12.3  Android多语言 345
    第三部分  Android ROM UI篇
    第13章 Android资源管理系统 354
    13.1  资源管理简介 354
    13.2  资源初始化过程 361
    13.2.1  AssetManager的构造方法 369
    13.2.2  AssetManager.java的addAssetPath() 方法 374
    13.2.3  Resources的构造方法 375
    13.3  资源查找、解析、创建View过程 378
    13.3.1  查找资源ID对应的不是文件的过程 380
    13.3.2  查找资源ID对应的是文件的过程 382
    13.4  主题换肤实现 396
    第14章 Android View系统 411
    14.1  View系统简介 411
    14.2  应用程序Activity的创建 412
    14.3  Activity窗口对象PhoneWindow的创建 424
    14.4  Activity根视图对象DecorView的创建 432
    14.5  ViewRootImpl的创建和添加DecorView对象 440
    14.6  View的measure、layout和draw过程 453
    14.6.1  View的measure过程 462
    14.6.2  View的layout过程 473
    14.6.3  View的draw过程 478
    14.7  View事件分发 493
    14.8  案例分析 503
    第15章 Android控件 512
    15.1  Android系统控件分析 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.3  Android控件案例分析 527
查看详情
相关图书 / 更多
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入理解移动互联网
吴功宜 吴英 编著
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入实施“四个育人”,彰显本科人才培养特色——云南大学本科教育改革与创新优秀论文集
主编唐旭光
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入浅出C语言程序设计(第3版·微课版)
李俊·c;强振平;荣剑;张晴晖;赵毅力;钟丽辉
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入浅出C#(视频教学版)
赵云
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入实践Kotlin元编程
霍丙乾 著
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入北方的小路(布克奖震撼杰作。人生在世,行走于地狱屋顶,凝望花朵。余华力荐“了不起的小说”!)
[澳]理查德·弗兰纳根 著;新经典 出品
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入学习习近平关于科技创新的重要论述
科学技术部编写组 著
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入浅出IoT:完整项目通关实战
[英]吉姆·贝内特(Jim Bennett) 著;柴火创客空间 译;[美]珍·福克斯(Jen Fox);[美]珍·卢珀(Jen Looper)
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入浅出SSD:固态存储核心技术、原理与实战 第2版
SSDFans 胡波 石亮 岑彪
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入地心 少儿科普 新华正版
英国尤斯伯恩出版公司
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入理解FFmpeg
刘歧 赵军 杜金房 赵文杰 宋韶颍
深入浅出Android源代码:基于Android 6.0和实际开发案例剖析
深入人心:数字产品设计的底层逻辑
林婕