《Android优化技术详解》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈德春编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302359333
  • 页数:423 页
图书介绍:全书分为12章,第1章是Android概述,第2章是工欲善其事、必先利其器,第3章是为什么需要优化,第4章是UI布局优化,第5章是Android的内存系统,第6章是Android的内存优化,第7章是代码优化,第8章是性能优化,第9章是系统优化,第10章是优化工具,第11-12章是综合实例部分,通过2个综合实例讲解了优化大型Androd程序的基本流程。本书实例全程视频讲解,并赠送相关的学习资料。售后推出QQ群和论坛,全程为读者服务。

第1章 Android系统闪亮登场 1

1.1 一款全新的智能手机平台——Android 2

1.1.1 何谓智能手机 2

1.1.2 看当前主流的智能手机系统 2

1.2 分析Android的优势 4

1.2.1 第一个优势——出自名门 4

1.2.2 第二个优势——强大的开发团队 4

1.2.3 第三个优势——奖金丰厚 5

1.2.4 第四个优势——代码开源 5

1.3 搭建开发环境 5

1.3.1 安装Android SDK的系统要求 5

1.3.2 安装JDK、Eclipse、Android SDK 6

1.3.3 设定Android SDK Home 18

1.4 创建Android虚拟设备(AVD) 19

1.4.1 Android模拟器简介 19

1.4.2 模拟器和真机的区别 20

1.4.3 创建Android虚拟设备 20

1.4.4 启动模拟器 22

1.4.5 快速安装SDK 22

1.5 解决搭建环境过程中的三个问题 23

1.5.1 不能在线更新 23

1.5.2 一直显示Proiect name must be specified提示 25

1.5.3 Target列表中没有Target选项 26

第2章 分析Android核心框架 29

2.1 简析Android安装文件 30

2.1.1 Android SDK目录结构 30

2.1.2 android.jar及其内部结构 31

2.1.3 SDK帮助文档 32

2.1.4 Android SDK实例简介 34

2.2 Android的系统架构详解 34

2.2.1 Android体系结构介绍 34

2.2.2 Android工程文件结构 37

2.2.3 应用程序的生命周期 40

2.3 简析Android内核 43

2.3.1 Android继承于Linux 43

2.3.2 Android内核和Linux内核的区别 43

2.4 简析Android源码 45

2.4.1 获取并编译Android源码 45

2.4.2 Android对Linux的改造 47

2.4.3 为Android构建Linux的操作系统 48

第3章 为什么需要优化 49

3.1 用户体验是产品成功的关键 50

3.1.1 什么是用户体验 50

3.1.2 影响用户体验的因素 51

3.1.3 用户体验设计目标 51

3.2 Android的用户体验 52

3.3 不同的厂商,不同的硬件 56

3.4 Android优化概述 56

第4章 UI布局优化 59

4.1 和布局相关的组件 60

4.1.1 View视图组件 60

4.1.2 Viewgroup容器 60

4.2 Android中的5种布局方式 61

4.2.1 线性布局LinearLayout 61

4.2.2 框架布局FrameLayout 64

4.2.3 绝对布局AbsoluteLayout 65

4.2.4 相对布局RelativeLayout 65

4.2.5 表格布局TableLayout 67

4.3 〈merge/〉标签在UI界面中的优化作用 70

4.4 遵循Android Layout优化的两段通用代码 73

4.5 优化Bitmap图片 74

4.5.1 实例说明 74

4.5.2 具体实现 74

4.6 FrameLayout布局优化 76

4.6.1 使用〈merge〉减少视图层级结构 79

4.6.2 使用〈include〉重用Layout代码 79

4.6.3 延迟加载 82

4.7 使用Android为我们提供的优化工具 82

4.7.1 Layout Optimization工具 82

4.7.2 Hierarchy Viewer工具 86

4.7.3 联合使用〈merge/〉和〈include/〉标签实现互补 89

4.8 总结Android UI布局优化的原则和方法 93

第5章 Android的内存系统 95

5.1 内存和进程的关系 96

5.1.1 进程管理工具的纷争 96

5.1.2 程序员的任务 96

5.1.3 Android系统内存设计 97

5.2 分析Android的进程通信机制 98

5.2.1 Android的进程间通信(IPC)机制Binder 98

5.2.2 Service Manager是Binder机制的上下文管理者 100

5.2.3 分析Server和Client获得Service Manager的过程 118

5.3 分析Android系统匿名共享内存C++调用接口 122

5.3.1 Java程序 125

5.3.2 相关程序 134

5.4 Android中的垃圾回收 137

5.4.1 sp和wp简析 137

5.4.2 详解智能指针(android refbase类(sp和wp)) 139

第6章 Android内存优化 143

6.1 Android内存优化的作用 144

6.2 查看Android内存和CPU使用情况 145

6.2.1 利用AndroidAPI函数查看 145

6.2.2 直接对Android文件进行解析查询 145

6.2.3 通过Runtime类实现 146

6.2.4 使用DDMS工具获取 147

6.2.5 其他方法 152

6.3 Android的内存泄漏 155

6.3.1 什么是内存泄漏 155

6.3.2 为什么会发生内存泄漏 156

6.3.3 shallow size、retained size 158

6.3.4 查看Android内存泄漏的工具 159

6.3.5 查看Android内存泄漏的方法 162

6.3.6 Android(Java)中常见的容易引起内存泄漏的不良代码 164

6.4 常见的引起内存泄漏的坏毛病 165

6.4.1 查询数据库时忘记关闭游标 165

6.4.2 构造Adapter时不习惯使用缓存的convertView 166

6.4.3 没有及时释放对象的引用 167

6.4.4 不在使用Bitmap对象时调用recycle()释放内存 168

6.5 演练解决内存泄漏 168

6.5.1 使用MAT根据heap dump分析Java代码内存泄漏的根源 168

6.5.2 演练Android中内存泄漏代码优化及检测 176

6.6 Android图片的内存优化 178

第7章 代码优化 181

7.1 Android代码优化的基本原则 182

7.2 优化Java代码 182

7.2.1 GC对象优化 182

7.2.2 尽量使用StringBuilder和StringBuffer进行字符串连接 186

7.2.3 及时释放不用的对象 189

7.3 编写更高效的Android代码 189

7.3.1 避免建立对象 190

7.3.2 优化方法调用代码 192

7.3.3 优化代码变量 193

7.3.4 优化代码过程 196

7.3.5 提高Cursor查询数据的性能 199

7.3.6 编码中尽量使用ContentProvider共享数据 200

7.4 Android控件的性能优化 204

7.4.1 ListView控件的代码优化 204

7.4.2 Adapter(适配器)优化 209

7.4.3 ListView异步加载图片优化 212

7.5 优化Android图形 216

7.5.1 2D绘图的基本优化 216

7.5.2 触发屏幕图形触摸器的优化 217

7.5.3 SurfaceView绘图覆盖刷新及脏矩形刷新方法 217

第8章 性能优化 223

8.1 资源存储优化 224

8.1.1 Android文件存储 224

8.1.2 Android中的资源存储 226

8.1.3 Android资源的类型和命名 228

8.1.4 Android文件资源(raw/data/asset)的存取 229

8.1.5 Android对Drawable对象的优化 230

8.1.6 建议使用Drawable,而不是Bitmap 232

8.2 加载APK文件和DEX文件 236

8.2.1 APK文件介绍 237

8.2.2 DEX文件介绍和优化 238

8.2.3 Android类动态加载技术实现加密优化 239

8.3 SD卡优化 242

8.4 Android的虚拟机优化 244

8.4.1 Android虚拟机概述 244

8.4.2 平台优化——ARM的流水线技术 246

8.4.3 Android对C库优化 250

8.4.4 创建进程的优化 253

8.4.5 渲染优化 253

8.5 SQLite优化 257

8.5.1 Android SQLite的查询优化 257

8.5.2 SQLite性能优化技巧 263

8.6 Android的图片缓存处理和性能优化 263

第9章 系统优化 267

9.1 基本系统优化 268

9.1.1 刷机重启 268

9.1.2 刷内核 268

9.1.3 精简内置应用 269

9.1.4 基本系统优化总结 270

9.2 进程管理 271

9.2.1 Android进程跟Windows进程是两回事 271

9.2.2 查看当前系统中正在运行的程序 271

9.2.3 枚举Android系统的进程、任务和服务的信息 275

9.2.4 研究Android进程管理器的实现 281

9.3 将Android软件从手机内存转移到存储卡 286

9.3.1 第一步:准备工作 286

9.3.2 第二步:存储卡分区 289

9.3.3 第三步:将软件移动到SD卡 289

9.4 常用的系统优化工具 291

9.4.1 优化大师 291

9.4.2 360优化大师 292

第10章 开发一个Android优化系统 295

10.1 优化大师介绍 296

10.1.1 手机优化大师客户端 296

10.1.2 手机优化大师PC端 296

10.2 项目介绍 297

10.2.1 规划UI界面 298

10.2.2 预期效果 299

10.3 准备工作 299

10.3.1 新建工程 299

10.3.2 主界面 300

10.4 编写主界面程序 306

10.5 进程管理模式模块 308

10.5.1 基础状态文件 309

10.5.2 CPU和内存使用信息 310

10.5.3 进程详情 310

10.6 进程视图模块 316

10.6.1 进程主视图 316

10.6.2 进程视图 317

10.6.3 获取进程信息 317

10.7 进程类别模块 319

10.7.1 加载进程 319

10.7.2 后台加载设置 323

10.7.3 加载显示 323

10.8 文件管理模式模块 324

10.8.1 文件分类 324

10.8.2 加载进程 324

10.8.3 文件视图处理 328

10.9 文件管理模块 329

10.9.1 文件夹 330

10.9.2 显示文件信息 330

10.9.3 操作文件 332

10.9.4 获取进程的CPU和内存信息 332

10.10 系统测试 336

第11章 综合实例——手机地图系统 339

11.1 项目分析 340

11.1.1 规划UI界面 340

11.1.2 数据存储设计和优化 341

11.2 具体实现 342

11.2.1 新建工程 342

11.2.2 主界面 343

11.2.3 新建界面 346

11.2.4 设置界面 349

11.2.5 帮助界面 354

11.2.6 地图界面 356

11.2.7 数据存取 367

11.2.8 实现Service服务 372

11.3 发布自己的作品来盈利 374

11.3.1 申请会员 374

11.3.2 生成签名文件 377

11.3.3 使用签名文件 383

11.3.4 发布 386

第12章 综合实例——Android足球游戏 387

12.1 手机游戏产业的发展 388

12.1.1 1.2亿手机游戏用户 388

12.1.2 淘金的时代 388

12.1.3 手机游戏的未来发展 389

12.2 Java游戏开发基础 389

12.3 足球游戏介绍 391

12.3.1 手机足球游戏 391

12.3.2 策划游戏 392

12.3.3 准备工作 392

12.4 项目架构 393

12.4.1 总体架构 393

12.4.2 规划类 394

12.5 Android手机游戏的优化策略 394

12.6 具体编码 395

12.6.1 Activity类开发 395

12.6.2 欢迎界面 400

12.6.3 加载节目 408

12.6.4 运动控制 409

12.6.5 奖品模块 419