Android系統性能優化:卡頓、穩定性與續航

中興通訊終端事業部

  • 出版商: 機械工業
  • 出版日期: 2023-05-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 220
  • 裝訂: 平裝
  • ISBN: 7111726006
  • ISBN-13: 9787111726005
  • 相關分類: Android
  • 立即出貨

買這商品的人也買了...

商品描述

這是一本針對Android全系統性能優化的著作,面向應用開發、系統框架定制開發、
整機性能優化3大場景,系統、深入地講解Android系統的卡頓優化、穩定性優化、續航優化的策略與方法。
本書是中興通訊官方多年Android系統優化經驗的總結,書中用55個實際的性能優化案例,
圖文並茂、深入淺出地講解了分析問題的思路和解決問題的過程。

全書內容分為三個部分:
(1)卡頓優化(第1~2章)
圍繞應用優化和系統優化全面展開:應用優化方面,首先從應用優化的角度介紹了卡頓的各種常見原因以及相關技術,
然後從應用耗時和應用內存兩個維度分析了10餘個案例;
系統優化方面,首先介紹了系統優化的各種策略,然後分析了系統側卡頓的7個典型案例

(2)穩定性優化(第3~4章)
圍繞高通、MTK、展銳三大平台的死機問題和黑屏問題展開,既介紹了出現這兩類問題的常見原因和分析問題的方法,
又詳細分析了20多個各種類型的案例,涵蓋應用異常和系統異常的各個方面。

(3)續航優化(第5~6章)
重點講解了外設異常、應用異常、
系統組件異常等引發的續航問題的定位方法和優化策略,包含近20個來自各種應用場景的案例。

目錄大綱

前言

第一部分 卡頓優化

第1章 應用優化案例 ·······················3

1.1 卡頓基本概念 ······························3

1.1.1 卡頓的定義與分類 ···············3

1.1.2 卡頓原因匯總 ·····················6

1.2 卡頓優化涉及的相關技術 ············14

1.2.1 CPU ·······························14

1.2.2 SoC平臺 ·························17

1.2.3 CGroup ···························19

1.2.4 cpuset配置 ······················21

1.2.5 UFS與eMMC ··················23

1.2.6 LCD與屏幕刷新率·············24

1.3 應用耗時操作案例 ······················29

1.3.1 案例1:平臺能力有限與

布□過於復雜 ···················29

1.3.2 案例2:關鍵路徑頻繁I/O

操作 ······························31

1.3.3 案例3:核心函數費時操作···35

1.3.4 案例4:關鍵路徑頻繁數據庫

操作 ······························35

1.3.5 案例5:Binder風暴 ···········38

1.3.6 案例6:UI線程非繪制任務阻

塞繪制 ····························43

1.3.7 案例7:非UI線程上繪制操作

引發阻塞 ·························44

1.4 應用內存案例 ····························46

1.4.1 案例1:聯系人應用內存

泄漏 ······························47

1.4.2 案例2:SystemUI進程Binder

內存泄漏 ·························48

1.4.3 案例3:system內存告警

問題 ······························51

1.4.4 案例4:應用句柄泄漏 ········56

1.4.5 案例5:adj優先級不當引發後

台應用無法被及時回收 ········59

第2章 系統優化策略與案例分析 ···63

2.1 系統優化策略 ····························63

2.1.1 自啟動管控策略 ················63

2.1.2 消息推送策略 ···················64

2.1.3 關聯啟動管控策略 ·············65

2.1.4 系統側進程啟動管控策略 ·····66

2.1.5 內存融合技術 ···················68

2.1.6 低內存查殺 ······················72

2.2 系統側卡頓優化案例 ··················74

2.2.1 自啟動控制案例 ················74

2.2.2 關聯啟動控制案例 ·············76

2.2.3 線程調度優化案例 ·············80

2.2.4 應用啟動卡頓案例 ·············81

2.2.5 VSync不均勻案例 ·············86

2.2.6 CPU調頻優化案例 ·············89

2.2.7 I/O卡頓案例 ····················92

第二部分 穩定性優化

第3章  死機重啟問題優化策略與

案例分析 ····························97

3.1 死機重啟問題相關概念 ···············97

3.1.1 死機重啟問題的定義 ··········97

3.1.2 死機問題跟蹤與定位 ··········98

3.1.3 重啟問題跟蹤與定位 ·········101

3.2 死機問題案例分析 ·····················104

3.2.1 DDR位翻轉案例 ··············105

3.2.2 DDR上電時序不穩定案例 ···109

3.2.3 eMMC長時間無響應導致

凍屏死機案例 ··················111

3.2.4 系統運行內存耗盡案例 ·······114

3.2.5 內存踩踏案例 ··················118

3.2.6 硬體中斷風暴踩內存案例 ····123

3.2.7 其他案例 ························127

3.3 重啟問題案例分析 ·····················128

3.3.1 SurfaceFlinger內存高占

案例 ·····························128

3.3.2 system_server 句柄耗盡

案例 ·····························131

3.3.3 PID重復使用案例 ·············132

3.3.4 預置應用共用系統進程UID

案例 ·····························134

3.3.5 system_server線程泄漏

案例 ·····························137

3.3.6 內核代碼浮點運算內存踩踏

案例 ·····························139

第4章  黑屏問題優化策略與案例

分析 ··································143

4.1 黑屏問題定義和可能的原因 ·······143

4.2 黑屏案例 ··································144

4.2.1 開機流程異常案例 ············144

4.2.2 界面切換黑屏案例 ············147

4.2.3 □□卡頓黑屏案例 ············150

4.2.4 應用邏輯異常導致黑屏

案例 ·····························152

4.2.5 鎖屏黑屏案例 ··················153

第三部分 續航優化

第5章  外設功耗優化策略與案例

分析 ··································157

5.1 功耗基礎 ··································157

5.1.1 基礎電流分類 ··················158

5.1.2 系統軟體與功耗的關系 ·······158

5.1.3 國家3C發熱標準解讀 ·······160

5.2 外設功耗問題優化策略 ··············161

5.3 外設功耗優化案例 ·····················162

5.3.1 底電流優化案例 ···············162

5.3.2 LCD電流優化案例············167

5.3.3 TP引腳配置優化案例 ········172

5.3.4 音頻參數優化案例 ············172

5.3.5 海運模式電流優化案例 ·······174

第6章 系統優化策略與案例分析 ····176

6.1 續航問題的定義與分類 ··············176

6.2 續航優化涉及的相關技術 ···········177

6.2.1 CPU調度機制 ·················178

6.2.2 Alarm和JobScheduler

機制 ······························181

6.2.3 Doze模式 ·······················183

6.2.4 App Standby機制 ·············186

6.2.5 Bucket機制 ····················188

6.3 系統級優化方案 ························189

6.3.1 溫控方案優化案例 ············190

6.3.2 媒體掃描優化案例 ············197

6.3.3 GMS應用功耗優化案例 ·····200

6.3.4 5G網路參數優化案例 ········201

6.4 應用異常優化案例 ·····················204

6.4.1 後台應用CPU高占優化

案例 ·····························204

6.4.2 後台應用頻繁喚醒優化

案例 ·····························207

6.4.3 後台應用頻繁聯網優化

案例 ·····························209

6.4.4 後台應用藍牙掃描優化

案例 ·····························212

6.4.5 後台應用頻繁定位優化

案例 ·····························214

6.4.6 應用異常持有亮屏鎖優化

案例 ·····························219

後 記 ············································220