Android应用性能优化
《Android应用性能优化》
基本信息
原书名:ProAndroidAppsPerformanceOptimization
作者:(法)埃尔韦(Hervé,G.)[作译者介绍]
译者:白龙
丛书名:图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115272416
上架时间:2012-10-13
出版日期:2012年10月
开本:16开
页码:1
版次:1-1
所属分类:计算机>软件与程序设计>移动开发>Android
更多关于》》》《Android应用性能优化》
内容简介
书籍
计算机书籍
《android应用性能优化》主要介绍如何调优android应用,以使应用更健壮并提高其执行速度。内容包括用java、ndk优化应用,充分利用内存以使性能最大化,尽最大可能节省电量,何时及如何使用多线程,如何使用基准问题测试代码,如何优化opengl代码和使用renderscript等。
《android应用性能优化》面向熟悉java和androidsdk的想要进一步学习如何用本地代码优化应用性能的android开发人员。
目录
《android应用性能优化》
第1章 java代码优化 1
1.1 android如何执行代码 1
1.2 优化斐波纳契数列 4
1.2.1 从递归到迭代 4
1.2.2 biginteger 6
1.3 缓存结果 10
1.4 api等级 12
1.5 数据结构 14
1.6 响应能力 17
1.6.1 推迟初始化 19
1.6.2 strictmode 19
1.7 sqlite 21
1.7.1 sqlite语句 21
1.7.2 事务 25
1.7.3 查询 26
1.8 总结 27
第2章 ndk入门 28
2.1 ndk里有什么 28
2.2 混合使用java和c/c++代码 31
2.2.1 声明本地方法 31
2.2.2 实现jni粘合层 32
2.2.3 创建makefile 33
2.2.4 实现本地函数 35
2.2.5 编译本地库 36
2.2.6 加载本地库 37
2.3 application.mk 37
2.3.1 为(几乎)所有设备优化 39
2.3.2 支持所有设备 40
2.4 android.mk 43
2.5 使用c/c++改进性能 45
2.6 本地acitivity 52
2.6.1 构建缺失的库 54
2.6.2 替代方案 59
2.7 总结 60
第3章 ndk进阶 61
3.1 汇编 61
3.1.1 最大公约数 62
3.1.2 色彩转换 66
3.1.3 并行计算平均值 70
3.1.4 arm指令 74
3.1.5 armneon 79
3.1.6 cpu特性 80
3.2 c扩展 81
3.2.1 内置函数 82
3.2.2 向量指令 82
3.3 技巧 86
3.3.1 内联函数 87
3.3.2 循环展开 87
3.3.3 内存预读取 87
3.3.4 用ldm/stm替换ldr/std 89
3.4 总结 89
第4章 高效使用内存 90
4.1 说说内存 90
4.2 数据类型 91
4.2.1 值的比较 93
4.2.2 其他算法 95
4.2.3 数组排序 96
4.2.4 定义自己的类 97
4.3 访问内存 98
4.4 排布数据 100
4.5 垃圾收集 104
4.5.1 内存泄漏 105
4.5.2 引用 106
4.6 api 109
4.7 内存少的时候 110
4.8 总结 111
第5章 多线程和同步 112
5.1 线程 112
5.2 asynctask 115
5.3 handler和looper 118
5.3.1 handler 118
5.3.2 looper 120
5.4 数据类型 120
5.5 并发 124
5.6 多核 125
5.6.1 为多核修改算法 126
5.6.2 使用并发缓存 129
5.7 activity生命周期 131
5.7.1 传递信息 132
5.7.2 记住状态 134
5.8 总结 137
第6章 性能评测和剖析 138
6.1 时间测量 138
6.1.1 system.nanotime() 139
6.1.2 debug.threadcputimenanos() 140
6.2 方法调用跟踪 141
6.2.1 debug.startmethodtracing() 141
6.2.2 使用traceview工具 142
6.2.3 ddms中的traceview 144
6.2.4 本地方法跟踪 145
6.3 日志 147
6.4 总结 148
第7章 延长电池续航时间 150
7.1 电池 150
7.2 禁用广播接收器 155
7.3 网络 159
7.3.1 后台数据 159
7.3.2 数据传输 160
7.4 位置 162
7.4.1 注销监听器 163
7.4.2 更新频率 164
7.4.3 多种位置服务 164
7.4.4 筛选定位服务 166
7.4.5 最后已知位置 168
7.5 传感器 169
7.6 图形 170
7.7 提醒 171
7.8 wakelock 173
7.9 总结 175
第8章 图形 176
8.1 布局优化 176
8.1.1 相对布局 178
8.1.2 合并布局 181
8.1.3 重用布局 183
8.1.4 viewstub 184
8.2 布局工具 185
8.2.1 层级视图 186
8.2.2 layoutopt 186
8.3 opengles 186
8.3.1 扩展 187
8.3.2 纹理压缩 189
8.3.3 mipmap 193
8.3.4 多apk 194
8.3.5 着色 195
8.3.6 场景复杂性 195
8.3.7 消隐 195
8.3.8 渲染模式 195
8.3.9 功耗管理 195
8.4 总结 196
第9章 renderscript 197
9.1 概览 197
9.2 helloworld 199
9.3 hellorendering 202
9.3.1 创建渲染脚本 202
9.3.2 创建renderscriptglcontext 203
9.3.3 展开rssurfaceview 204
9.3.4 设置内容视图 204
9.4 在脚本中添加变量 205
9.5 hellocompute 208
9.5.1 allocation 209
9.5.2 rsforeach 210
9.5.3 性能 213
9.6 自带的renderscriptapi 214
9.6.1 rs_types.rsh 215
9.6.2 rs_core.rsh 217
9.6.3 rs_cl.rsh 219
9.6.4 rs_math.rsh 222
9.6.5 rs_graphics.rsh 223
9.6.6 rs_time.rsh 224
9.6.7 rs_atomic.rsh 225
9.7 renderscript与ndk对比 225
9.8 总结 226