美文网首页
Android内核剖析(完整版)PDF

Android内核剖析(完整版)PDF

作者: 斌雅读书 | 来源:发表于2022-03-31 22:14 被阅读0次
    image.png

    第1部分 基础篇

    第1章 linux基础2

    1.1 linux文件系统概述2

    1.2 linux启动过程4

    1.3 常用linux 命令6

    1.4 shell脚本备忘9

    1.4.1 获取输入10

    1.4.2 变量定义10

    1.4.3 条件判断11

    1.4.4 while []…do… done语句12

    1.4.5 for循环13

    1.4.6 函数14

    1.4.7 常用内置符号常量15

    1.5 make脚本备忘15

    1.5.1 一个简单的makefile文件16

    1.5.2 变量的定义与赋值18

    1.5.3 条件控制语句18

    1.5.4 宏(函数)定义19

    1.5.5 内置符号和变量22

    1.5.6 模板目标(pattern target)23

    1.5.7 目标特定的变量赋值(target-specific variable)24

    1.5.8 常用选项25

    第2章 java基础26

    2.1 类装载器dexclassloader26

    2.1.1 dexclassloader的调用方法27

    2.1.2 基于类装载器设计一种“插件”架构29

    2.2 jni调用机制32

    2.2.1 java访问c33

    2.2.2 c访问java35

    2.2.3 在c中使用持久对象37

    2.3 异步消息处理线程37

    2.3.1 实现异步线程的一般思路38

    2.3.2 android中异步线程的实现方法38

    第3章 android源码下载及开发环境配置44

    3.1 mac系统的配置44

    3.1.1 硬盘格式的配置44

    3.1.2 port的用法46

    3.2 在linux中配置usb连接46

    3.3 在eclipse中调试framework46

    3.3.1 一段防止下载异常的脚本47

    3.3.2 调试framework中的代码47

    第4章 使用git51

    4.1 安装git52

    4.2 git仓库管理52

    4.2.1 仓库的组成52

    4.2.2 创建仓库54

    4.2.3 分支管理55

    4.3 git merge用法57

    4.4 git rebase用法58

    4.5 git cherry-pick用法61

    4.6 git reset用法62

    4.7 恢复到无引用提交63

    4.8 git remote用法65

    4.9 git 配置67

    4.9.1 基本信息配置68

    4.9.2 merge、diff工具配置68

    4.9.3 .gitignore配置70

    4.10 同时使用git和svn71

    4.11 其他git常用命令示例72

    4.11.1 git branch72

    4.11.2 git checkout72

    4.11.3 git log73

    4.11.4 git commit --amend73

    4.11.5 git cherry-pick sha-173

    4.11.6 git merge-base74

    4.11.7 git diff master…dev74

    4.11.8 git revert75

    4.11.9 git diff75

    4.11.10 git rm75

    4.11.11 git tag76

    第2部分 内核篇

    第5章 binder78

    5.1 binder框架78

    5.2 设计servier端80

    5.3 binder客户端设计81

    5.4 使用service类82

    5.4.1 获取binder对象82

    5.4.2 保证包裹内参数顺序aidl工具的使用83

    5.5 系统服务中的binder对象88

    5.5.1 servicemanager管理的服务88

    5.5.2 理解manager90

    第6章 framework概述92

    6.1 framework框架92

    6.1.1 服务端92

    6.1.2 客户端93

    6.1.3 linux驱动94

    6.2 apk程序的运行过程94

    6.3 客户端中的线程94

    6.4 几个常见问题95

    6.4.1 acitivity之间如何传递消息(数据)95

    6.4.2 窗口相关的概念96

    第7章 理解context98

    7.1 context是什么98

    7.2 一个应用程序中包含多少个context对象99

    7.3 context相关类的继承关系99

    7.4 创建context100

    7.4.1 application对应的context101

    7.4.2 activity对应的context102

    7.4.3 service对应的context103

    7.4.4 context之间的关系104

    第8章 创建窗口的过程106

    8.1 窗口的类型106

    8.2 token变量的含义108

    8.2.1 activity中的mtoken108

    8.2.2 window中的mapptoken109

    8.2.3 windowmanager.layoutparams中的token109

    8.2.4 view中的token110

    8.3 创建应用窗口111

    8.4 创建子窗口121

    8.4.1 dialog的创建122

    8.4.2 popupwindow的创建126

    8.4.3 contextmenu的创建127

    8.4.4 optionmenu的创建132

    8.5 系统窗口toast的创建136

    8.5.1 toast调用流程137

    8.5.2 toast添加窗口139

    8.6 创建窗口示例139

    第9章 framework的启动过程142

    9.1 framework运行环境综述142

    9.2 dalvik虚拟机相关的可执行程序143

    9.2.1 dalvikvm144

    9.2.2 dvz144

    9.2.3 app_process145

    9.3 zygote的启动147

    9.3.1 在init.rc中配置zygote启动参数147

    9.3.2 启动socket服务端口148

    9.3.3 加载preload-classes151

    9.3.4 加载preload-resources152

    9.3.5 使用folk启动新的进程152

    9.4 systemserver进程的启动155

    9.4.1 启动各种系统服务线程156

    9.4.2 启动第一个activity158

    第10章 ams内部原理160

    10.1 activity调度机制160

    10.1.1 几个重要概念161

    10.1.2 ams中的一些重要调度相关变量163

    10.1.3 startactivity()的流程165

    10.1.4 stopactivitylocked()停止activity183

    10.1.5 按“home”键回到桌面的过程186

    10.1.6 按“back”键回到上一个activity187

    10.1.7 长按“home”键189

    10.1.8 activity生命期的代码含义190

    10.2 内存管理192

    10.2.1 关闭而不退出192

    10.2.2 android与linux的配合194

    10.2.3 各种关闭程序的过程196

    10.2.4 释放内存详解197

    10.3 对ams中数据对象的理解211

    10.3.1 常见的对象操作212

    10.3.2 理解activity213

    10.3.3 android多进程吗,是同时在运行多个应用程序吗213

    10.4 activitygroup的内部机制214

    10.4.1 tabactivity使用时的类关系结构215

    10.4.2 localactivitymanager的内部机制217

    10.4.3 activitygroup内部的activity生命期控制220

    第11章 从输入设备中获取消息221

    11.1 android消息获取过程概述221

    11.2 与消息处理相关的源码文件分布223

    11.3 创建inputdispatcher线程226

    11.4 把窗口信息传递给inputdispatcher线程227

    11.5 创建inputchannel229

    11.6 在wms中注册inputchannel232

    11.7 在客户进程中注册inputchannel233

    11.8 wms中处理消息的时机234

    11.9 客户窗口获取消息的时机235

    第12章 屏幕绘图基础237

    12.1 绘制屏幕的软件架构237

    12.2 java客户端绘制调用过程239

    12.3 c客户端绘制过程241

    12.4 java客户端绘制相关类的关系244

    第13章 view工作原理247

    13.1 导论247

    13.2 用户消息类型249

    13.2.1 按键消息249

    13.2.2 触摸消息250

    13.3 按键消息派发过程252

    13.3.1 keyevent.dispatcherstate中的长按监测252

    13.3.2 按键消息总体派发过程254

    13.3.3 根视图内部派发过程256

    13.3.4 activity内部派发过程257

    13.3.5 view类内部的onkeydown()和onkeyup()260

    13.3.6 activity中的onkeydown()和onkeyup()261

    13.3.7 phonewindow内部消息派发过程262

    13.4 按键消息在wms中的派发过程263

    13.5 触摸消息派发过程266

    13.5.1 触摸消息总体派发过程266

    13.5.2 根视图内部消息派发过程267

    13.5.3 viewgroup内部消息派发过程268

    13.5.4 各种消息监测的基本实现方法271

    13.5.5 view内默认消息派发过程272

    13.6 导致view树重新遍历的时机274

    13.6.1 状态的分类274

    13.6.2 导致view树重新遍历的总体诱因图275

    ......

    需要材料百度网盘链接地址,请到微信小程序搜索“斌雅资料”,序列号:3,密钥:9988,查询资料获取。

    相关文章

      网友评论

          本文标题:Android内核剖析(完整版)PDF

          本文链接:https://www.haomeiwen.com/subject/lbcojrtx.html