图书介绍
Android系统优化从入门到精通pdf电子书版本下载
- 胡郁等编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111516163
- 出版时间:2015
- 标注页数:467页
- 文件大小:118MB
- 文件页数:481页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
Android系统优化从入门到精通PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 基础知识篇 1
第1章 Android系统介绍 1
1.1 智能手机系统介绍 1
1.1.1 什么是智能手机 1
1.1.2 主流智能系统的发展现状 2
1.2 Android系统的发展现状 3
1.2.1 Android系统的诞生和发展现状 3
1.2.2 常见的Android设备 4
1.2.3 Android系统的巨大优势 6
1.3 搭建Android应用开发环境 7
1.3.1 安装Android SDK的系统要求 7
1.3.2 安装JDK 8
1.3.3 获取并安装Eclipse和Android SDK 11
1.3.4 安装ADT 14
1.3.5 设定Android SDK Home 16
1.3.6 验证开发环境 17
1.3.7 创建Android虚拟设备(AVD) 18
1.3.8 启动AVD模拟器 21
1.4 创建第一个Android程序 23
第2章 获取并编译Android源码 28
2.1 获取Android源码 28
2.1.1 在Linux系统获取Android源码 28
2.1.2 在Windows平台获取Android源码 29
2.2 分析Android源码结构 32
2.3 编译Android源码 33
2.3.1 搭建编译环境 34
2.3.2 开始编译 35
2.3.3 在模拟器中运行 36
2.3.4 常见的错误分析 37
2.3.5 实践演练——两种编译Android程序的方法演示 38
第二篇 核心技术篇 43
第3章 分析内存系统 43
3.1 分析Android的进程通信机制 43
3.1.1 Android的进程间通信(IPC)机制Binder 43
3.1.2 Binder机制的上下文管理者——Service Manager 44
3.1.3 Service Manager服务 64
3.2 匿名共享内存子系统详解 67
3.2.1 基础数据结构 67
3.2.2 初始化处理 68
3.2.3 打开匿名共享内存设备文件 70
3.2.4 内存映射 72
3.2.5 读写操作 74
3.2.6 锁定和解锁 76
3.2.7 回收内存块 82
3.3 C++访问接口层详解 83
3.3.1 接口MemoryHeapBase 83
3.3.2 接口MemoryBase 92
3.4 Java访问接口层详解 96
第4章 Android内存优化 100
4.1 Android内存优化的作用 100
4.2 查看Android内存和CPU使用情况 101
4.2.1 利用AndroidAPI函数查看内存 101
4.2.2 直接对Android文件进行解析查询 101
4.2.3 通过Runtime类实现 102
4.2.4 使用DDMS工具获取 102
4.2.5 其他方法 107
4.3 Android系统的内存泄露 110
4.3.1 什么是内存泄漏 110
4.3.2 为什么会发生内存泄露 111
4.3.3 shallow size和retained size 112
4.3.4 查看Android内存泄露的工具 113
4.3.5 查看Android内存泄露的方法 116
4.3.6 Android(Java)编码时的注意事项 118
4.4 常见的引起内存泄露的陋习 119
4.4.1 查询数据库时忘记关闭游标 119
4.4.2 构造Adapter时不习惯使用缓存的convertView 120
4.4.3 没有及时释放对象的引用 121
4.4.4 不在使用Bitmap对象时调用recycle()释放内存 122
4.5 演练解决内存泄露 122
4.5.1 使用MAT根据heap dump分析Java代码内存泄漏的根源 123
4.5.2 演练Android中内存泄露代码优化及检测 130
4.6 Android图片的内存优化 132
第5章 UI布局优化 134
5.1 和布局相关的组件 134
5.1.1 View视图组件 134
5.1.2 ViewGroup容器 134
5.2 Android中的五种布局方式 135
5.2.1 线性布局LinearLayout 135
5.2.2 框架布局FrameLayout 136
5.2.3 绝对布局AbsoluteLayout 137
5.2.4 相对布局RelativeLayout 137
5.2.5 表格布局TableLayout 139
5.3 使用<merge/>标签优化UI界面 140
5.3.1 注意事项 140
5.3.2 具体实现 140
5.4 优化Bitmap图片 143
5.4.1 显示一副图片 143
5.4.2 获取图片的宽度和高度 143
5.5 FrameLayout布局优化 145
5.5.1 使用<merge/>减少视图层级结构 146
5.5.2 使用<include/>重用layout代码 147
5.5.3 延迟加载 149
5.6 使用Android提供的优化工具 150
5.6.1 Layout Optimization工具 150
5.6.2 Hierarchy Viewer工具 153
5.6.3 联合使用<merge/>和<include/>标签实现互补 155
第6章 优化代码性能 160
6.1 编写更高效的Android代码 160
6.1.1 避免建立对象 160
6.1.2 优化方法调用代码 162
6.1.3 优化代码变量 163
6.1.4 优化代码过程 166
6.1.5 提高Cu.rsor查询数据的性能 169
6.1.6 编码中尽量使用ContentProvider共享数据 169
6.2 Android控件的性能优化 174
6.2.1 ListView控件的代码优化 174
6.2.2 Adapter(适配器)优化 178
6.2.3 ListView异步加载图片优化 181
6.3 优化Android图形 186
6.3.1 2D绘图的基本优化 186
6.3.2 触发屏幕图形触摸器的优化 186
6.3.3 SurfaceView绘图覆盖刷新及脏矩形刷新方法 187
6.4 资源存储优化 193
6.4.1 Android文件存储 193
6.4.2 Android中的资源存储 195
6.4.3 Android资源的类型和命名 198
6.4.4 Android文件资源(raw/data/asset)的存取 198
6.4.5 Android对Drawable对象的优化 200
6.4.6 建议使用Drawable,而不是Bitmap 202
6.5 加载APK文件和DEX文件 205
6.5.1 APK文件介绍 207
6.5.2 DEX文件介绍和优化 208
6.5.3 Android类动态加载技术实现加密优化 208
第三篇 Dalvik虚拟机优化篇 212
第7章 Dalvik虚拟机垃圾收集机制 212
7.1 引用计数算法 212
7.2 Mark Sweep算法 212
7.3 和垃圾收集算法有关的函数 214
7.4 垃圾回收的时机 234
7.5 调试信息 236
7.6 Dalvik虚拟机和JVM垃圾收集机制的区别 236
第8章 Dalvik虚拟机内存优化机制 239
8.1 sp和wp简介 239
8.1.1 sp基础 239
8.1.2 wp基础 240
8.2 智能指针详解 241
8.2.1 智能指针基础 242
8.2.2 轻量级指针 243
8.2.3 强指针 245
8.2.4 弱指针 257
第9章 Dalvik虚拟机异常处理 261
9.1 Java异常处理机制 261
9.1.1 方法调用栈 261
9.1.2 Java提供的异常处理类 263
9.2 Java虚拟机异常处理机制详解 264
9.2.1 Java语言及虚拟机的异常处理机制 265
9.2.2 COSIX虚拟机异常处理的设计与实现 265
9.3 分析Dalvik虚拟机异常处理的源码 269
9.3.1 初始化虚拟机使用的异常Java类库 269
9.3.2 抛出一个线程异常 270
9.3.3 持续抛出进程 271
9.3.4 找出异常原因 272
9.3.5 清除挂起的异常和等待初始化的异常 276
9.3.6 解决“现在等待”异常 276
9.3.7 输出跟踪当前异常的错误信息 277
9.3.8 搜索和当前异常相匹配的方法 278
9.3.9 获取匹配的捕获块 279
9.3.10 进行堆栈跟踪 280
9.3.11 生成堆栈跟踪元素 282
9.3.12 将内容添加到堆栈跟踪日志中 283
9.3.13 将异常日志信息输出为堆栈跟踪信息 284
9.4 常见异常的类型与原因 284
9.4.1 SQLException:操作数据库异常类 285
9.4.2 ClassCastException:数据类型转换异常 285
9.4.3 NumberFormatException:字符串转换为数字类型时抛出的异常 285
9.5 调用堆栈跟踪分析异常 286
9.5.1 解决段错误 286
9.5.2 跟踪Android Callback调用堆栈 289
第10章 JIT编译 294
10.1 JIT简介 294
10.1.1 JIT概述 294
10.1.2 Java虚拟机主要的优化技术 296
10.1.3 Dalvik中JIT的实现 296
10.2 Dalvik虚拟机对JIT的支持 296
10.3 汇编代码和改动 298
10.3.1 汇编部分代码 298
10.3.2 对C文件的改动 298
10.4 Dalvik虚拟机中的JIT源码 299
10.4.1 入口文件 299
10.4.2 核心函数 310
10.4.3 编译文件 313
10.4.4 BasicBlock处理 322
10.4.5 内存初始化 323
10.4.6 对JIT源码的总结 326
第11章 ART优化之启动过程 328
11.1 运行环境的转换 328
11.2 运行app_process进程 329
11.3 准备启动 333
11.4 创建运行实例 340
11.5 注册本地JNI函数 342
11.6 启动守护进程 343
11.7 解析参数 344
11.8 初始化类、方法和域 352
第12章 ART优化之执行主程序 359
12.1 进入main主函数 359
12.2 查找目标类 361
12.2.1 函数LookupClass() 361
12.2.2 函数DefineClass() 364
12.2.3 函数InsertClass() 368
12.2.4 函数LinkClass() 369
12.3 类操作 371
12.4 实现托管操作 373
第13章 ART优化之安装APK准备 380
13.1 PackageManagerService概述 380
13.2 主函数main 380
13.3 调用初始化函数 381
13.4 创建PackageManagerService服务 384
13.5 扫描并解析 386
13.6 保存解析信息 405
第14章 ART优化之安装APK应用程序 408
14.1 Android安装APK概述 408
14.2 启动时安装 408
14.3 ART安装 420
14.4 实现dex2oat转换 426
14.4.1 参数解析 427
14.4.2 创建oat文件指针 429
14.4.3 dex2oat准备工作 430
14.4.4 提取classes.dex文件 431
14.4.5 创建oat文件 438
14.5 APK文件的转换 439
第15章 系统优化 441
15.1 基本系统优化 441
15.1.1 刷机重启 441
15.1.2 刷内核 442
15.1.3 精简内置应用 442
15.1.4 基本系统优化总结 444
15.2 进程管理 444
15.2.1 Android进程跟Windows进程是两回事 445
15.2.2 查看当前系统中正在运行的程序 445
15.2.3 枚举Android系统的进程、任务和服务的信息 449
15.2.4 研究Android进程管理器的实现 455
15.3 将Android软件从手机内存转移到存储卡 460
15.3.1 第一步:准备工作 460
15.3.2 第二步:存储卡分区 463
15.3.3 第三步:将软件移动到SD卡 463
15.4 常用的系统优化工具 465
15.4.1 优化大师 465
15.4.2 360优化大师 466