《Android應用效能最佳化》
基本資料
原書名:Pro Android Apps Performance Optimization
作者: (法)埃爾韋(Hervé,G.) [作譯者介紹]
譯者: 白龍
叢書名: 圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115272416
上架時間:2012-10-13
出版日期:2012 年10月
開本:16開
頁碼:1
版次:1-1
所屬分類: 電腦 > 軟體與程式設計 > 移動開發 > Android
更多關於 》》》《Android應用效能最佳化》
內容簡介
書籍
電腦書籍
《android應用效能最佳化》主要介紹如何調優android 應用,以使應用更健壯並提高其執行速度。內容包括用java、ndk 最佳化應用,充分利用記憶體以使效能最大化,盡最大可能節省電量,何時及如何使用多線程,如何使用基準問題測試代碼,如何最佳化opengl 代碼和使用renderscript 等。
《android應用效能最佳化》面向熟悉java 和android sdk 的想要進一步學習如何用本地代碼最佳化應用效能的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 arm neon 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 opengl es 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 hello world 199
9.3 hello rendering 202
9.3.1 建立渲染指令碼 202
9.3.2 建立renderscriptgl context 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 內建的renderscript api 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
本圖書資訊來源:中國互動出版網