Android性能優(yōu)化入門與實戰(zhàn)
定 價:59.9 元
當前圖書已被 49 所學校薦購過!
查看明細
- 作者:張世欣(拭心)
- 出版時間:2024/4/1
- ISBN:9787115630421
- 出 版 社:人民郵電出版社
- 中圖法分類:TN929.53
- 頁碼:206
- 紙張:
- 版次:01
- 開本:16開
隨著互聯(lián)網(wǎng)用戶滲透率的提升,中國移動互聯(lián)網(wǎng)進入了平穩(wěn)發(fā)展階段。在存量市場下,企業(yè)能否提供更優(yōu)質的用戶體驗,成為影響其用戶規(guī)模的重要因素,因此,“豐富的性能優(yōu)化經驗”等描述在高級職位的要求中頻繁出現(xiàn)。很多人對性能優(yōu)化感興趣,因其不僅有技術挑戰(zhàn),在面試中也經常被提及。然而,對于沒有經驗的人來說,這個概念比較空泛,既不清楚其具體涵蓋內容,也擔心自己是否能掌握到足夠的深度。如果你有同樣的困惑,那么這本書能給你答案。讀完本書之后,你會豁然開朗,對性能優(yōu)化胸有成竹。
這是一本針對Android App性能優(yōu)化的書,首先描述從事性能優(yōu)化測試相關工作需要具備的能力,然后介紹性能優(yōu)化和性能測試的組成環(huán)節(jié),最后深入地講解內存、流暢性和啟動優(yōu)化的具體方案。
本書適合想要或正在從事Android開發(fā)工作的讀者,特別是從事Android性能測試和優(yōu)化相關工作的讀者閱讀。
多年Android App優(yōu)化經驗總結;
全面剖析Android App性能優(yōu)化技術;
詳盡的代碼拿來就用;
全面講解為什么優(yōu)化、如何優(yōu)化;
深入剖析安卓性能優(yōu)化的理論、環(huán)節(jié)及關鍵技術(內存優(yōu)化、流暢度優(yōu)化、啟動優(yōu)化)。
張世欣(網(wǎng)名:拭心)
畢業(yè)于西安電子科技大學計算機專業(yè),目前在喜馬拉雅擔任 Android 技術專家,曾就職于字節(jié)跳動基礎架構組。在應用性能優(yōu)化、性能分析工具、跨端技術等方面有豐富的開發(fā)實踐經驗。
堅持在社區(qū)分享內容,博客訪問量達到百萬人次,獲得谷歌開發(fā)者專家、CSDN 博客專家和 InfoQ 簽約作者等認證。
第 1篇 市場需要什么樣的Android開發(fā)者
第 1章 Android開發(fā)者需要具備的能力 2
1.1 初中級開發(fā)者需要具備的能力 2
1.2 高級開發(fā)者需要具備的能力 3
1.3 資深開發(fā)者需要具備的能力 4
1.4 性能技術專家需要具備的能力 5
1.5 小結 6
思考題 6
第 2章 優(yōu)秀的開發(fā)者具備的素質 7
2.1 好的學習能力是什么樣的 8
2.2 好的溝通能力是什么樣的 11
2.3 好的工作思維是什么樣的 12
2.4 小結 13
思考題 14
第 2篇 認識性能優(yōu)化和性能測試
第3章 性能優(yōu)化 16
3.1 性能優(yōu)化的5個環(huán)節(jié) 16
3.2 性能優(yōu)化如何進行 18
3.2.1 瑞士奶酪模型 18
3.2.2 厘清目標和現(xiàn)狀 19
3.2.3 搭建監(jiān)控系統(tǒng) 21
3.2.4 發(fā)現(xiàn)問題,定位原因 26
3.2.5 設計優(yōu)化方案,考慮得與失 28
3.2.6 上線驗證效果 30
3.3 小結 30
思考題 31
第4章 性能測試 32
4.1 性能測試的4個環(huán)節(jié) 32
4.2 性能測試實踐 33
4.2.1 測試CPU 33
4.2.2 測試GPU 35
4.2.3 測試FPS 35
4.2.4 測試文件讀寫情況 38
4.3 小結 39
思考題 39
第3篇 專項優(yōu)化
第5章 內存優(yōu)化 42
5.1 為什么要做內存優(yōu)化 42
5.1.1 虛擬內存不足導致App崩潰 42
5.1.2 物理內存不足導致App后臺存活時間短 44
5.1.3 GC對應用啟動、流暢性的影響 45
5.1.4 小結 46
5.2 線上內存監(jiān)控 46
5.2.1 內存不足導致的崩潰如何監(jiān)控 46
5.2.2 后臺被強制“殺掉”的問題如何監(jiān)控 49
5.2.3 GC對流暢性的影響如何監(jiān)控 53
5.2.4 小結 54
5.3 線下內存測試 54
5.3.1 獲取App的內存指標 55
5.3.2 獲取進程的內存空間數(shù)據(jù) 57
5.3.3 分析內存使用詳情 59
5.4 內存優(yōu)化 61
5.4.1 Java 內存問題分析、定位 61
5.4.2 Native 內存問題分析、定位 71
5.4.3 圖片內存問題分析、定位 83
5.4.4 減少內存問題的有效方法 105
5.5 小結 111
思考題 112
第6章 流暢度優(yōu)化 113
6.1 為什么要做流暢度優(yōu)化 113
6.2 線上流暢度監(jiān)控 113
6.2.1 FPS和掉幀數(shù) 113
6.2.2 主線程卡頓監(jiān)控 130
6.2.3 線程運行情況監(jiān)控 141
6.3 線下流暢度分析 143
6.3.1 使用開發(fā)者選項分析卡頓問題 143
6.3.2 使用 Android Studio Profiler 分析卡頓問題 146
6.3.3 使用 Systrace 分析卡頓 149
6.4 流暢度優(yōu)化如何進行 152
6.4.1 增加繪制相關線程的運行時間 152
6.4.2 減少主線程非繪制任務耗時 160
6.4.3 減少繪制任務耗時 175
6.5 小結 176
思考題 177
第7章 啟動優(yōu)化 178
7.1 為什么要做啟動優(yōu)化 178
7.2 啟動監(jiān)控 178
7.2.1 App 的啟動流程 179
7.2.2 啟動監(jiān)控如何進行 185
7.3 線下分析 190
7.4 啟動優(yōu)化如何進行 194
7.4.1 綁定大核提升啟動速度 194
7.4.2 通過框架管理啟動任務 198
7.4.3 減少 ContentProvider 初始化耗時 202
7.4.4 減少 .so 文件加載耗時 203
7.4.5 延遲子進程創(chuàng)建 204
7.4.6 低端機啟動邏輯降級 205
7.5 小結 205
思考題 206