Android 稳定性 · 实战
30章
从入门到精通
1
01
系统稳定性概述
稳定性的定义、重要性,ANR/Crash/死机/重启分类
2
02
系统架构与稳定性
应用层到内核层关键点,各层职责与常见问题
3
03
日志系统与抓取
logcat、kernel log、tombstone、dmesg 分析
4
04
ANR问题分析基础
ANR定义、触发场景、Service/Broadcast/Input超时
5
05
ANR实战分析(一)
logcat/trace定位主线程耗时操作案例
6
06
ANR实战分析(二)
Binder通信阻塞、锁竞争导致ANR案例
7
07
Crash分析基础
Java/Native Crash区别、信号机制、异常类型
8
08
Java Crash实战
堆栈定位空指针、数组越界等案例
9
09
Native Crash实战
addr2line、ndk-stack解析堆栈
10
10
Crash实战(三)
so库加载失败、内存踩踏导致Crash
11
11
死机与重启分析
Watchdog、内核Panic、Hardware Reset日志
12
12
死机重启实战
last_kmsg、ramdump分析内核死机,中断风暴案例
13
13
内存问题与稳定性
内存泄漏、OOM、内存碎片化影响
14
14
内存泄漏实战(一)
dumpsys meminfo、MAT、LeakCanary定位
15
15
内存泄漏实战(二)
Native层泄漏,AddressSanitizer、malloc debug
16
16
CPU与线程问题
CPU过载、线程死锁、优先级反转
17
17
线程死锁实战
Thread Dump分析死锁,哲学家就餐案例
18
18
I/O问题与稳定性
I/O阻塞、文件系统损坏、存储瓶颈致ANR
19
19
I/O实战分析
systrace、ftrace分析I/O瓶颈,数据库写入阻塞
20
20
系统服务稳定性
System Server、SurfaceFlinger、MediaServer
21
21
System Server实战
ANR与Crash分析,Binder线程耗尽案例
22
22
驱动与内核稳定性
驱动Bug、内核模块异常、设备树配置错误
23
23
驱动稳定性实战
GPIO/I2C/SPI驱动死机,中断处理耗时案例
24
24
稳定性测试方法
Monkey、压力测试、模糊测试、长时间测试
25
25
稳定性测试工具
Monkey、dumpsys、systrace、perfetto、strace
26
26
监控与自动化
线上Tombstone上传、ANR率统计、自动化脚本
27
27
稳定性问题预防
代码审查、Lint、Coverity、单元测试
28
28
预防(二)编译与加固
LTO、PGO、ASLR、CFI对稳定性影响
29
29
复盘与总结
撰写分析报告,建立知识库与Case Study
30
30
综合实战
从零分析系统重启:日志收集、根因定位、修复