移动平台开发书库 Android 系统优化从入门到精通 可复制文字版作 者: 胡郁出版时间:2015内容简介 全书分为12章,第1章是Android概述,第2章是工欲善其事、必先利其器,第3章是为什么需要优化,第4章是UI布局优化,第5章是Android的内存系统,第6章是Android的内存优化,第7章是=代码优化,第8章是性能优化,第9章是系统优化,第10章是优化工具,第11-12章是综合实例部分,通过2个综合实例讲解了优化大型Androd程序的基本流程。目录前言**篇 基础知识篇第1章 Android系统介绍1.1 智能手机系统介绍1.1.1 什么是智能手机1.1.2 主流智能系统的发展现状1.2 Android系统的发展现状1.2.1 Android系统的诞生和发展现状1.2.2 常见的Android设备1.2.3 Android系统的巨大优势1.3 搭建Android应用开发环境1.3.1 安装Android SDK的系统要求1.3.2 安装JDK1.3.3 获取并安装Eclipse和Android SDK1.3.4 安装ADT1.3.5 设定Android SDK Home1.3.6 验证开发环境1.3.7 创建Android虚拟设备(AVD)1.3.8 启动AVD模拟器1.4 创建**个Android程序第2章 获取并编译Android源码2.1 获取Android源码2.1.1 在Linux系统获取Android源码2.1.2 在Windows平台获取Android源码2.2 分析Android源码结构2.3 编译Android源码2.3.1 搭建编译环境2.3.2 开始编译2.3.3 在模拟器中运行2.3.4 常见的错误分析2.3.5 实践演练——两种编译Android程序的方法演示第二篇 核心技术篇第3章 分析内存系统3.1 分析Android的进程通信机制3.1.1 Android的进程间通信(IPC)机制Binder3.1.2 Binder机制的上下文管理者——Service Manager3.1.3 Service Manager服务3.2 匿名共享内存子系统详解3.2.1 基础数据结构3.2.2 初始化处理3.2.3 打开匿名共享内存设备文件3.2.4 内存映射3.2.5 读写操作3.2.6 锁定和解锁3.2.7 回收内存块3.3 C++访问接口层详解3.3.1 接口MemoryHeapBase3.3.2 接口MemoryBase3.4 Java访问接口层详解第4章 Android内存优化4.1 Android内存优化的作用4.2 查看Android内存和CPU使用情况4.2.1 利用Android API函数查看内存4.2.2 直接对Android文件进行解析查询4.2.3 通过Runtime类实现4.2.4 使用DDMS工具获取4.2.5 其他方法4.3 Android系统的内存泄露4.3.1 什么是内存泄漏4.3.2 为什么会发生内存泄露4.3.3 shallow size和retained size4.3.4 查看Android内存泄露的工具4.3.5 查看Android内存泄露的方法4.3.6 Android(Java)编码时的注意事项4.4 常见的引起内存泄露的陋习4.4.1 查询数据库时忘记关闭游标4.4.2 构造Adapter时不习惯使用缓存的convertView4.4.3 没有及时释放对象的引用4.4.4 不在使用Bitmap对象时调用recycle()释放内存4.5 演练解决内存泄露4.5.1 使用MAT根据heap dump分析Java代码内存泄漏的根源4.5.2 演练Android中内存泄露代码优化及检测4.6 Android图片的内存优化第5章 UI布局优化5.1 和布局相关的组件5.1.1 View视图组件5.1.2 ViewGroup容器5.2 Android中的五种布局方式5.2.1 线性布局LinearLayout5.2.2 框架布局FrameLayout5.2.3 **布局AbsoluteLayout5.2.4 相对布局RelativeLayout5.2.5 表格布局TableLayout5.3 使用标签优化UI界面5.3.1 注意事项5.3.2 具体实现5.4 优化Bitmap图片5.4.1 显示一副图片5.4.2 获取图片的宽度和高度5.5 FrameLayout布局优化5.5.1 使用减少视图层级结构5.5.2 使用重用layout代码5.5.3 延迟加载5.6 使用Android提供的优化工具5.6.1 Layout Optimization工具5.6.2 Hierarchy Viewer工具5.6.3 联合使用和标签实现互补第6章 优化代码性能6.1 编写更高效的Android代码6.1.1 避免建立对象6.1.2 优化方法调用代码6.1.3 优化代码变量6.1.4 优化代码过程6.1.5 提高Cursor查询数据的性能6.1.6 编码中尽量使用ContentProvider共享数据6.2 Android控件的性能优化6.2.1 ListView控件的代码优化6.2.2 Adapter(适配器)优化6.2.3 ListView异步加载图片优化6.3 优化Android图形6.3.1 2D绘图的基本优化6.3.2 触发屏幕图形触摸器的优化6.3.3 SurfaceView 绘图覆盖刷新及脏矩形刷新方法6.4 资源存储优化6.4.1 Android文件存储6.4.2 Android中的资源存储6.4.3 Android资源的类型和命名6.4.4 Android文件资源(raw/data/asset)的存取6.4.5 Android对Drawable对象的优化6.4.6 建议使用Drawable,而不是Bitmap6.5 加载APK文件和DEX文件6.5.1 APK文件介绍6.5.2 DEX文件介绍和优化6.5.3 Android类动态加载技术实现加密优化第三篇 Dalvik 虚拟机优化篇第7章 Dalvik虚拟机垃圾收集机制7.1 引用计数算法7.2 Mark Sweep算法7.3 和垃圾收集算法有关的函数7.4 垃圾回收的时机7.5 调试信息7.6 Dalvik 虚拟机和JVM垃圾收集机制的区别第8章 Dalvik虚拟机内存优化机制8.1 sp和wp简介8.1.1 sp基础8.1.2 wp基础8.2 智能指针详解8.2.1 智能指针基础8.2.2 轻量级指针8.2.3 强指针8.2.4 弱指针第9章 Dalvik虚拟机异常处理9.1 Java异常处理机制9.1.1 方法调用栈9.1.2 Java提供的异常处理类9.2 Java 虚拟机异常处理机制详解9.2.1 Java语言及虚拟机的异常处理机制9.2.2 COSIX虚拟机异常处理的设计与实现9.3 分析Dalvik虚拟机异常处理的源码9.3.1 初始化虚拟机使用的异常Java类库9.3.2 抛出一个线程异常9.3.3 持续抛出进程9.3.4 找出异常原因9.3.5 清除挂起的异常和等待初始化的异常9.3.6 解决“现在等待”异常9.3.7 输出跟踪当前异常的错误信息9.3.8 搜索和当前异常相匹配的方法9.3.9 获取匹配的捕获块9.3.10 进行堆栈跟踪9.3.11 生成堆栈跟踪元素9.3.12 将内容添加到堆栈跟踪日志中9.3.13 将异常日志信息输出为堆栈跟踪信息9.4 常见异常的类型与原因9.4.1 SQLException:操作数据库异常类9.4.2 ClassCastException:数据类型转换异常9.4.3 NumberFormatException:字符串转换为数字类型时抛出的异常9.5 调用堆栈跟踪分析异常9.5.1 解决段错误9.5.2 跟踪Android Callback调用堆栈第10章 JIT编译10.1 JIT简介10.1.1 JIT概述10.1.2 Java虚拟机主要的优化技术10.1.3 Dalvik中JIT的实现10.2 Dalvik虚拟机对JIT的支持10.3 汇编代码和改动10.3.1 汇编部分代码10.3.2 对C文件的改动10.4 Dalvik虚拟机中的JIT源码10.4.1 入口文件10.4.2 核心函数10.4.3 编译文件10.4.4 BasicBlock处理10.4.5 内存初始化10.4.6 对JIT源码的总结第11章 ART优化之启动过程11.1 运行环境的转换11.2 运行 app_process 进程11.3 准备启动11.4 创建运行实例11.5 注册本地JNI函数11.6 启动守护进程11.7 解析参数11.8 初始化类、方法和域第12章 ART优化之执行主程序12.1 进入main主函数12.2 查找目标类12.2.1 函数LookupClass()12.2.2 函数DefineClass()12.2.3 函数InsertClass()12.2.4 函数LinkClass()12.3 类操作12.4 实现托管操作第13章 ART优化之安装APK准备13.1 PackageManagerService概述13.2 主函数main13.3 调用初始化函数13.4 创建PackageManagerService服务13.5 扫描并解析13.6 保存解析信息第14章 ART优化之安装APK应用程序14.1 Android安装APK概述14.2 启动时安装14.3 ART安装14.4 实现dex2oat转换14.4.1 参数解析14.4.2 创建oat文件指针14.4.3 dex2oat 准备工作14.4.4 提取classes.dex文件14.4.5 创建oat文件14.5 APK 文件的转换第15章 系统优化15.1 基本系统优化15.1.1 刷机重启15.1.2 刷内核15.1.3 精简内置应用15.1.4 基本系统优化总结15.2 进程管理15.2.1 Android进程跟Windows进程是两回事15.2.2 查看当前系统中正在运行的程序15.2.3 枚举Android系统的进程、任务和服务的信息15.2.4 研究Android进程管理器的实现15.3 将Android软件从手机内存转移到存储卡15.3.1 **步:准备工作15.3.2 第二步:存储卡分区15.3.3 第三步:将软件移动到SD卡15.4 常用的系统优化工具15.4.1 优化大师15.4.2 360优化大师 上一篇: 移动平台开发书库 Android 开发完全实战宝典 可复制文字版 下一篇: 移动平台开发书库 Android 网络开发从入门到精通 代林峰 等编著 可复制文字版