注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡操作系統(tǒng)Android性能優(yōu)化之道:從底層原理到一線實踐

Android性能優(yōu)化之道:從底層原理到一線實踐

Android性能優(yōu)化之道:從底層原理到一線實踐

定 價:¥99.00

作 者: 趙子健
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111773900 出版時間: 2025-02-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  這是一本深度解讀Android性能優(yōu)化底層原理并給出可落地的一線實踐指導的專業(yè)技術書。書中不僅原理講解透徹,而且會給出很多基于讀者實際工作成績的實戰(zhàn)案例。本書共分為11章,其中第1章總體介紹Android性能優(yōu)化的背景、本質、方法論和落地方向,第2~10章從原理和實戰(zhàn)兩個層面分別對內存優(yōu)化、速度優(yōu)化、穩(wěn)定性優(yōu)化、包體積優(yōu)化及其他優(yōu)化進行解讀。最后一章是作者多年優(yōu)化從業(yè)經驗的總結。

作者簡介

  現(xiàn)為字節(jié)跳動資深 Android 開發(fā)工程師,負責飛書客戶端性能品質優(yōu)化工作。熟悉 Android 和 Linux 系統(tǒng)底層原理,擅長性能優(yōu)化。曾任職于騰訊、阿里巴巴,有豐富的項目性能優(yōu)化和架構經驗。谷歌開發(fā)者社區(qū)深度參與者(多次進行技術分享),谷歌認證的國內Android方向的GDE(谷歌開發(fā)者專家,目前國內僅有12位Android方向的谷歌開發(fā)者專家)之一。

圖書目錄

目  錄?Contents
前 言
引言 如何才能做好性能優(yōu)化 1
第1章 內存優(yōu)化原理 8
1.1 虛擬內存 9
1.1.1 為什么需要虛擬內存 9
1.1.2 什么是虛擬內存 10
1.1.3 ELF文件 11
1.1.4 虛擬內存申請和釋放 14
1.1.5 虛擬內存到物理內存 16
1.2 內存數(shù)據的組成 17
1.2.1 maps文件 17
1.2.2 Java堆內存 18
1.2.3 Native內存 26
1.3 內存優(yōu)化方法論 26
1.3.1 及時清理數(shù)據 26
1.3.2 減少數(shù)據的加載 27
1.3.3 增加內存大小 29
第2章 內存優(yōu)化實戰(zhàn) 30
2.1 Java內存泄漏檢測 31
2.1.1 手動分析 31
2.1.2 自動分析 36
2.2 Native內存泄漏檢測 40
2.2.1 攔截malloc和free函數(shù) 40
2.2.2 獲取Native堆?!?0
2.2.3 Native堆棧信息還原 51
2.2.4 開源工具介紹 55
2.3 Bitmap治理 55
2.3.1 字節(jié)碼操作 56
2.3.2 超大Bitmap優(yōu)化 61
2.3.3 Bitmap泄漏優(yōu)化 65
2.4 線程棧優(yōu)化 66
2.4.1 線程創(chuàng)建流程 67
2.4.2 減少線程數(shù)量 69
2.4.3 減小線程默認的棧
空間大小 70
2.5 默認webview內存釋放 72
2.5.1 通過maps文件尋找地址 73
2.5.2 通過系統(tǒng)變量尋找地址 75
第3章 速度與流暢性優(yōu)化原理 81
3.1 CPU 81
3.1.1 CPU的結構 82
3.1.2 CPU的工作流程 82
3.1.3 匯編指令 84
3.2 緩存 84
3.2.1 緩存的結構 84
3.2.2 寄存器 85
3.2.3 高速緩存 86
3.2.4 主存 86
3.3 任務調度 86
3.3.1 進程與線程的狀態(tài) 87
3.3.2 進程調度 88
3.3.3 協(xié)程和線程 89
3.4 速度與流暢性優(yōu)化方法論 90
3.4.1 提升CPU執(zhí)行效率 90
3.4.2 提升緩存效率 92
3.4.3 提升任務調度效率 92
第4章 速度與流暢性優(yōu)化實戰(zhàn) 93
4.1 充分利用CPU閑置時刻 94
4.1.1 proc文件方案 94
4.1.2 times函數(shù)方案 98
4.2 減少CPU的等待 100
4.2.1 鎖等待優(yōu)化 100
4.2.2 I/O等待優(yōu)化 108
4.3 綁定CPU大核 110
4.3.1 線程綁核函數(shù) 111
4.3.2 獲取大核序列 111
4.4 GC抑制 113
4.4.1 GC的執(zhí)行流程 114
4.4.2 抑制GC執(zhí)行的方案 120
4.5 緩存策略優(yōu)化 126
4.5.1 常用的淘汰策略 127
4.5.2 LFUCache 128
4.6 Dex類文件重排序 131
4.6.1 局部性原理 131
4.6.2 Redex使用流程 132
4.7 提升核心線程優(yōu)先級 133
4.7.1 調整線程優(yōu)先級的方式 134
4.7.2 需要調整優(yōu)先級的線程 135
4.8 線程池優(yōu)化 137
4.8.1 默認的線程池創(chuàng)建方式 137
4.8.2 線程池配置解析 139
4.8.3 線程池類型及創(chuàng)建 141
4.8.4 線程池監(jiān)控 147
第5章 穩(wěn)定性優(yōu)化原理 152
5.1 ANR 153
5.1.1 ANR的類型 153
5.1.2 常見的ANR歸因 168
5.2 Crash 169
5.2.1 Java Crash 169
5.2.2 Native Crash 172
5.3 穩(wěn)定性優(yōu)化方法論 174
第6章 穩(wěn)定性優(yōu)化實戰(zhàn) 176
6.1 Native Crash監(jiān)控方案 177
6.1.1 異常信號捕獲 177
6.1.2 獲取Native堆?!?78
6.1.3 使用開源庫 182
6.2 ANR監(jiān)控方案 188
6.2.1 信號捕獲檢測方案 188
6.2.2 AMS接口檢測方案 191
6.2.3 抓取Trace文件 192
6.2.4 使用開源框架 193
6.3 OOM監(jiān)控方案 193
6.3.1 Hprof文件結構 194
6.3.2 Hprof裁剪方案 197
6.3.3 使用開源框架 198
6.4 Native Crash分析思路 198
6.4.1 初步分析 199
6.4.2 堆棧分析 200
6.4.3 指令分析 200
6.5 ANR分析思路 201
6.5.1 初步分析 202
6.5.2 性能分析 203
6.5.3 直接和間接分析 205
6.6 慢函數(shù)監(jiān)控 206
6.6.1 慢函數(shù)檢測方法 206
6.6.2 主線程方法插樁 207
第7章 包體積優(yōu)化原理 208
7.1 APK組成分析 208
7.1.1 dex文件 209
7.1.2 資源和so庫文件 210
7.2 APK包構建流程 212
7.2.1 編譯和打包流程 213
7.2.2 Gradle任務 216
7.3 包體積優(yōu)化方法論 218
第8章 包體積優(yōu)化實戰(zhàn) 220
8.1 精簡資源 222
8.1.1 刪除無用資源 222
8.1.2 刪除重復圖片 224
8.1.3 混淆文件名 232
8.1.4 使用開源工具 233
8.2 精簡dex文件 233
8.2.1 刪減無用的代碼 233
8.2.2 開啟編譯優(yōu)化 236
8.2.3 dex重排 238
8.2.4 移除行號信息 239
8.3 精簡so庫 244
8.3.1 刪除無用代碼 244
8.3.2 刪除冗余的so文件 245
8.3.3 刪除符號信息 245
8.4 壓縮dex文件 246
8.5 壓縮so庫 249
8.5.1 官方方案壓縮so 249
8.5.2 自定義方案壓縮so 249
8.6 動態(tài)加載資源文件 252
8.6.1 資源加載原理 253
8.6.2 動態(tài)加載資源 260
8.7 動態(tài)加載類文件 262
8.7.1 類加載原理 262
8.7.2 動態(tài)加載類 267
8.8 動態(tài)加載so庫文件 267
8.8.1 so庫加載原理 267
8.8.2 動態(tài)加載so庫 270
8.9 動態(tài)加載四大組件 271
8.9.1 Activity啟動流程 271
8.9.2 啟動攔截 285
8.9.3 方法重定向 290
8.9.4 開源插件化框架 291
第9章 其他優(yōu)化 292
9.1 耗電優(yōu)化 293
9.1.1 耗電統(tǒng)計原理 293
9.1.2 耗電監(jiān)控 301
9.1.3 耗電治理 305
9.2 流量優(yōu)化 306
9.2.1 流量消耗監(jiān)控 306
9.2.2 流量分類 310
9.2.3 流量優(yōu)化 312
9.3 磁盤占用優(yōu)化 313
9.3.1 磁盤監(jiān)控 313
9.3.2 存儲目錄 314
9.3.3 磁盤優(yōu)化 315
9.4 降級優(yōu)化 316
9.4.1 性能指標采集和異常判斷 317
9.4.2 降級任務的添加和調度 318
9.4.3 降級框架的效果度量 319
9.4.4 方案實現(xiàn) 320

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號