0%

Android应用性能优化

基本信息

名称: Android应用性能优化
作者信息: 作者: Hervé Guihot [ 中文 pdf ]

简单介绍

Android应用开发者经常要想尽办法来提升程序性能。Herve Guihot专著的《Android应用性能优化》主要介绍如何快速高效地优化应用,让应用变得稳定高效。你将学会利用Android SDK和NDK来混合或单独使用Java、C/C++来开发应用。 把Herve Guihot专著的《Android应用性能优化》的内容学以致用,你的编程技术就会得到关键性的提升,写出的应用就会更为健壮高效,从而广受用户好评,并最终获得成功。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
第1章Java代码优化
1.1Android如何执行代码
1.2优化斐波纳契数列
1.2.1从递归到迭代
1.2.2BigInteger
1.3缓存结果
1.4API等级
1.5数据结构
1.6响应能力
1.6.1推迟初始化
1.6.2StrictMode
1.7SQLite
1.7.1SQLite语句
1.7.2事务
1.7.3查询
1.8总结
第2章NDK入门
2.1NDK里有什么
2.2混合使用Java和C/C++代码
2.2.1声明本地方法
2.2.2实现JNI粘合层
2.2.3创建Makefile
2.2.4实现本地函数
2.2.5编译本地库
2.2.6加载本地库
2.3Application.mk
2.3.1为(几乎)所有设备优化
2.3.2支持所有设备
2.4Android.mk
2.5使用C/C++改进性能
2.6本地Acitivity
2.6.1构建缺失的库
2.6.2替代方案
2.7总结
第3章NDK进阶
3.1汇编
3.1.1最大公约数
3.1.2色彩转换
3.1.3并行计算平均值
3.1.4ARM指令
3.1.5ARMNEON
3.1.6CPU特性
3.2C扩展
3.2.1内置函数
3.2.2向量指令
3.3技巧
3.3.1内联函数
3.3.2循环展开
3.3.3内存预读取
3.3.4用LDM/STM替换LDR/STD
3.4总结
第4章高效使用内存
4.1说说内存
4.2数据类型
4.2.1值的比较
4.2.2其他算法
4.2.3数组排序
4.2.4定义自己的类
4.3访问内存
4.4排布数据
4.5垃圾收集
4.5.1内存泄漏
4.5.2引用
4.6API
4.7内存少的时候
4.8总结
第5章多线程和同步
5.1线程
5.2AsyncTask
5.3Handler和Looper
5.3.1Handler
5.3.2Looper
5.4数据类型
5.5并发
5.6多核
5.6.1为多核修改算法
5.6.2使用并发缓存
5.7Activity生命周期
5.7.1传递信息
5.7.2记住状态
5.8总结
第6章性能评测和剖析
6.1时间测量
6.1.1System.nanoTime()
6.1.2Debug.threadCpuTimeNanos()
6.2方法调用跟踪
6.2.1Debug.startMethodTracing()
6.2.2使用Traceview工具
6.2.3DDMS中的Traceview
6.2.4本地方法跟踪
6.3日志
6.4总结
第7章延长电池续航时间
7.1电池
7.2禁用广播接收器
7.3网络
7.3.1后台数据
7.3.2数据传输
7.4位置
7.4.1注销监听器
7.4.2更新频率
7.4.3多种位置服务
7.4.4筛选定位服务
7.4.5最后已知位置
7.5传感器
7.6图形
7.7提醒
7.8WakeLock
7.9总结
第8章图形
8.1布局优化
8.1.1相对布局
8.1.2合并布局
8.1.3重用布局
8.1.4ViewStub
8.2布局工具
8.2.1层级视图
8.2.2layoutopt
8.3Open GLES
8.3.1扩展
8.3.2纹理压缩
8.3.3Mipmap
8.3.4多APK
8.3.5着色
8.3.6场景复杂性
8.3.7消隐
8.3.8渲染模式
8.3.9功耗管理
8.4总结
第9章RenderScript
9.1概览
9.2HelloWorld
9.3HelloRendering
9.3.1创建渲染脚本
9.3.2创建RenderScriptGL Context
9.3.3展开RSSurfaceView
9.3.4设置内容视图
9.4在脚本中添加变量
9.5HelloCompute
9.5.1Allocation
9.5.2rsForEach
9.5.3性能
9.6自带的RenderScript API
9.6.1rs_types.rsh
9.6.2rs_core.rsh
9.6.3rs_cl.rsh
9.6.4rs_math.rsh
9.6.5rs_graphics.rsh
9.6.6rs_time.rsh
9.6.7rs_atomic.rsh
9.7RenderScript与NDK对比
9.8总结

亚马逊链接

欢迎关注我的其它发布渠道