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