編輯推薦
本書主要關於如何提高Android App的性能以便為用戶提供**的體驗,在智能設備廣泛應用的今天,這本書對開發人員來說十分有用。本書有助於開發人員更進一步瞭解Android App性能方麵的問題,不斷改善App性能,更適應用戶需求。
內容簡介
性能問題在很大程度上決定瞭用戶是否會使用一款App,本書正是Android性能方麵的關鍵性指南。全書共8章,主要從電池、內存、CPU和網絡方麵講解瞭電池管理、工作效率和速度這幾個方麵的性能優化問題,並介紹瞭一些有助於確定和定位性能問題所屬類型的工具。同時也會探討開發人員麵臨的一些主要問題,進而提齣一些可行的補救措施。全書旨在通過提高App性能完善App,以便用戶可以獲得**體驗。
作者簡介
Doug Sillars,是AT&T;開發者計劃中的性能推廣領導者。他幫助瞭成韆上萬的移動開發人員將性能的傑齣實踐應用到App上。他開發的工具和總結的傑齣實踐,幫助開發人員使App運行得更快,同時使用瞭更少的數據和電量。
目錄
譯者序 xi
序 xiii
前言 xv
第1 章 Android 的性能指標 1
1.1 性能對用戶很重要 2
1.1.1 電子商務和性能 2
1.1.2 電子商務之外的影響 3
1.1.3 性能可以節省基礎設備 4
1.2 最惡劣的性能影響因素:宕機 4
1.2.1 低性能就像持續的宕機 5
1.2.2 消費者對性能bug 的態度 7
1.2.3 智能手機電池壽命:礦井中的金絲雀 8
1.3 App 性能問題的檢測 8
1.3.1 模擬測試 9
1.3.2 真實用戶監測 9
1.4 總結 9
第2 章 構建Android 設備實驗室 10
2.1 你的用戶都在使用什麼設備 11
2.2 設備特性分布 11
2.2.1 屏幕 11
2.2.2 SDK 版本 12
2.2.3 CPU/ 內存和存儲 12
2.3 用戶使用的網絡 12
2.4 你的設備不是用戶的設備 12
2.5 測試 13
2.6 創建設備實驗室 14
2.6.1 你想要花很多錢買設備嗎 14
2.6.2 我應該購買什麼樣的設備 15
2.6.3 除瞭手機之外 17
2.6.4 Android Open Source Project 設備 17
2.6.5 其他選擇 18
2.6.6 其他注意事項 19
2.6.7 我的設備實驗室 20
2.7 總結 20
第3 章 硬件性能和電池壽命 22
3.1 Android 的硬件特點 22
3.2 少即是多 23
3.3 耗電原因 24
3.3.1 Android 能耗統計文件 24
3.3.2 屏幕 26
3.3.3 無綫設備 27
3.3.4 CPU 27
3.3.5 其他傳感器 28
3.3.6 休眠 29
3.3.7 WakeLock 和Alarm 29
3.3.8 Doze 模式 30
3.4 基本的電量消耗分析 31
3.4.1 詳細的App 電量消耗分析 34
3.4.2 能耗數據和數據流量 36
3.4.3 App 休眠 38
3.5 高級電池監控 38
3.5.1 電能統計 38
3.5.2 Battery Historian 42
3.5.3 Battery Historian 2.0 51
3.6 JobScheduler 54
3.7 小結 58
第4 章 屏幕和UI 性能 59
4.1 UI 性能基準 59
4.2 Android 上的UI 和渲染性能改進 60
4.3 創建視圖 61
4.4 資源縮減 74
4.4.1 屏幕的過度繪製 74
4.4.2 檢測過度繪製 74
4.4.3 Hierarchy Viewer 中的過度繪製 77
4.4.4 過度繪製和KitKat(Overdraw Avoidance) 78
4.5 分析卡頓(測量GPU 的渲染性能) 79
4.6 丟幀 83
4.6.1 Systrace 84
4.6.2 Systrace Screen Painting 86
4.6.3 Systrace 和CPU 阻塞渲染 91
4.6.4 Systrace 更新——2015 年Google I/O 開發者大會 93
4.6.5 第三方工具 95
4.7 感知性能 95
4.7.1 進度條:優缺點 96
4.7.2 動畫掩蓋加載時間 96
4.7.3 即時更新的善意謊言 96
4.7.4 提高感知性能的建議 97
4.8 小結 97
第5 章 內存性能 98
5.1 Android 內存:它是如何工作的 98
5.1.1 共享內存與私有內存 98
5.1.2 髒內存與乾淨內存 99
5.1.3 內存清理(垃圾迴收) 99
5.1.4 確定App 使用的內存大小 102
5.1.5 procstats 107
5.1.6 Android 內存警告 111
5.2 Java 中的內存管理/ 泄露 112
5.3 追蹤內存泄露的工具 112
5.3.1 Heap Dump 113
5.3.2 Allocation Tracker 115
5.3.3 增加一處內存泄露 116
5.3.4 更加深層次的堆解析:MAT 和LeakCanary 119
5.3.5 Eclipse 內存分析工具——MAT 119
5.3.6 LeakCanary 125
5.4 小結 128
第6 章 CPU 與CPU 性能 129
6.1 檢測CPU 占用率 130
6.2 使用Systrace 分析CPU 131
6.3 Traceview(遺留的監視器DDMS 工具) 134
6.4 Traceview(Android Studio) 137
6.5 其他優化工具 140
6.6 小結 141
第7 章 網絡性能 142
7.1 Wi-Fi 與蜂窩無綫電 142
7.1.1 Wi-Fi 143
7.1.2 蜂窩 143
7.1.3 RRC 狀態機 144
7.2 測試工具 147
7.2.1 Wireshark 148
7.2.2 Fiddler 149
7.2.3 MITMProxy 150
7.2.4 AT&T; ARO 151
7 2 5 混閤型App 和WebPageTest org 154
7.3 Android 網絡優化 154
7.3.1 文件優化 155
7.3.2 精簡文本文件(Souders:精簡JavaScript) 156
7.3.3 圖片 157
7.3.4 文件緩存 159
7.3.5 文件之外 161
7.3.6 分組連接 162
7.3.7 檢測應用的無綫電使用情況 163
7.3.8 適時關閉連接 164
7 3 9 定期執行重復的ping 命令 166
7 3 10 網絡安全技術的應用(HTTP 和HTTPS) 167
7 4 全球移動網絡覆蓋範圍 167
7 4 1 CDN 服務器 168
7.4.2 在慢速網絡中測試App 169
7.4.3 仿真慢速網絡而不用傾傢蕩産 169
7.4.4 構建網絡感知App 170
7.4.5 計算延遲 173
7.4.6 最後一英裏的延遲 174
7.4.7 其他無綫電 174
7.4.8 GPS 174
7.4.9 藍牙 174
7.5 小結 176
第8 章 真實用戶監測 177
8.1 啓用RUM 工具 ......................................................................................................................178
8.2 RUM 分析:示例程序 178
8.3 崩潰 179
8.3.1 分析Crashlytics 的崩潰報告 181
8.3.2 使用 186
8.3.3 實時信息 190
8.4 大數據的營救 190
8.5 小結 192
附錄 組織性能 193
關於作者 198
封麵介紹 198
高性能Android應用開發 下載 mobi epub pdf txt 電子書