下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 移动开发 >Android > Android系统优化从入门到精通

Android系统优化从入门到精通

综合评级:★★★★★

定价:75.00

作者:胡郁 著

出版社:机械工业出版社

出版日期:2015年11月

页数:467

字数:744000

ISBN:9787111516163

书籍介绍
全书分为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 安装JDK

1.3.3 获取并安装Eclipse和Android SDK

1.3.4 安装ADT

1.3.5 设定Android SDK Home

1.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)机制Binder

3.1.2 Binder机制的上下文管理者——Service Manager

3.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 接口MemoryHeapBase

3.3.2 接口MemoryBase

3.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 size

4.3.4 查看Android内存泄露的工具

4.3.5 查看Android内存泄露的方法

4.3.6 Android(Java)编码时的注意事项

4.4 常见的引起内存泄露的陋习

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

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

4.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 线性布局LinearLayout

5.2.2 框架布局FrameLayout

5.2.3 **布局AbsoluteLayout

5.2.4 相对布局RelativeLayout

5.2.5 表格布局TableLayout

5.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,而不是Bitmap

6.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 主函数main

13.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是一款基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是为移动终端打造的真正开放和完整的移动软件。根据国际数据公司(IDC)公布的统计数据,在2014年度,Android和iOS系统的装机量占到所有智能手机出货量的96.3%,其中安装Android系统的新智能手机数量跃升至10.59亿部,同比增长32%;市场份额为81.5%;iOS系统智能手机出货量1.927亿部,同比增长25.6%;市场份额为14.8%有理由相信,在未来一段时间内,Android将依旧牢牢地占据智能手机操作系统**的位置。

  强大的市场占有率使更多开发人员关注这款系统,当然也不乏初学者涌入学习大军中来,因此帮助初学者学习、解惑的相关图书非常畅销。但是在众多相关书籍中,大多数是入门级的,而Android系统优化领域的书籍屈指可数,Android系统优化领域的专业级书籍更是寥寥无几。

  只有更加专业才是通往Android殿堂级高手的必经之路。为了让广大初学者可以对Android开发有一个更加深入的认识,而不是停留在所谓的入门阶段。本书对Android优化方面的知识进行了细致的分析,“提炼”出了埋藏在Android系统深处的本质。并以此为基础,学以致用地讲解了实现项目优化的流程。

  本书的内容

  全书分为3篇15章,内容包括Android系统介绍,获取并编译Android源码,分析内存系统,Android内存优化,UI布局优化,优化代码性能,Dalvik虚拟机垃圾收集机制,Dalvik虚拟机内存优化机制,Dalvik 虚拟机异常处理,JIT编译,ART优化之启动过程,ART优化之执行主程序,ART优化之安装APK准备,ART优化之安装APK应用程序,系统优化。本书几乎涵盖了Android系统优化中的所有主要内容,并且内容言简意赅,讲解方法通俗易懂,不但适合应用高手们学习,而且特别有利于初学者入门及提高。

  本书的版本

  Android系统自2008年9月发布**个版本1.1以来,截至2013年11月发布版本4.4,一共存在十多个版本。由此可见,Android系统升级频率较快,一年之中*少有两个新版本诞生。如果读者过于追求新版本,一定会力不从心。所以在此建议读者:“不必追逐**的版本,我们只需关注*通用的版本即可”。据官方统计,截至2013年11月25日,占据应用前三位的版本分别是Android 4.3,Android 4.2和Android 4.1,其实这三个版本的区别并不是很大,只是在某领域的细节上进行了更新。

  2014年6月26日,谷歌I/O大会在旧金山开幕。在会上谷歌发布了Android L系统,其正式版于2014年10月16日推出。本书的内容以编者撰稿时的**版本Android L为基础,并且兼容了Android 4.4及其以前的版本,详细讲解了Android系统优化的基本知识。

  广大读者在调试使用本书中的源码时,可以使用任意版本的Android SDK进行调试,前提是在文件AndroidManifest.xml中指明版本号。例如,如果想使用Android L进行调试,需要在文件AndroidManifest.xml中加入如下指定Android SDK的代码。

  android:minSdkVersion="L"

  android:targetSdkVersion="L"

  />

  本书特色

  本书内容丰富,分析细致、全面。本书目标是通过一本图书,提供多本图书的价值,读者可以根据自己的需要有选择地阅读。本书内容的编写具有以下特色。

  (1)结构合理

  从用户的实际需要出发,科学安排知识结构,内容由浅入深,叙述清晰。全书详细地讲解了和Android优化开发有关的源码,内容循序渐进,由浅入深。

  (2)遵循“理论介绍—演示实例—综合演练”这一主线

  为了使广大读者彻底弄清楚Android优化的每一个知识点,在讲解时依次剖析了基本理论、演示实例分析、综合实战演练等内容。遵循了从理论到实践,实现了实践教学这一目标。

  (3)易学易懂

  本书内容条理清晰、语言简洁,可以帮助读者快速掌握各个知识点。使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行针对性的学习。

  (4)实用性强

  本书彻底摒弃枯燥的理论和简单的操作,注重实用性和可操作性,通过通俗的语言和细腻的描述,详细讲解了各个知识点的基本知识。

  (5)内容全面

  本书可称为“内容*全面的一本Android系统优化开发图书”之一,无论是开发环境搭建,还是各个常用、常见的网络系统问题,在本书中都能找到解决问题的方法。

  读者对象

  Android编程的自学者。

  优化开发人员。

  大中专院校的教师和学生。

  正在完成毕业设计的学生。

  Android编程爱好者。

  相关培训机构的教师和学员。

  从事Android开发的程序员。

  本书主要由胡郁编写,参与编写的还有管西京、周秀、张余、李佐彬、王梦、王书鹏、唐凯、关立勋、张建敏、杨靖宇、谭贞军、杨絮、刘英田、高秀云、任杰、张子帝、黄河、孟娜、杨国华、王南荻、翟明、焦甜甜、张储、刘继虎。由于时间仓促,书中难免有疏漏和不妥之处,敬请广大读者与同行专家批评指正。

  编 者

  2014年9月

热门图书
推荐新闻
技术文库
论坛推荐