📱 稳定性 · 实战
30章 · 从入门到精通
Android 系统稳定性问题排查
01
崩溃初探
ANR & FC 定位
什么是ANR、Force Close,logcat快速定位异常堆栈
02
日志分析
logcat 高级用法
buffer分类(main/system/events/crash) · grep与正则实战
03
tombstone
文件结构解读
signal/si_code含义 · backtrace与stack unwinding
04
Native Crash
工具链与符号解析
addr2line, objdump, so符号解析,空指针/内存越界
05
Java Crash
异常与捕获
Exception类型 · try-catch最佳实践 · UncaughtExceptionHandler
06
ANR触发
超时阈值与负载
Service/Broadcast/Provider/Input · CPU/IO影响
07
ANR trace
文件深度分析
生成时机 · 主线程状态(BLOCKED/WAITING) · 锁竞争
08
Systrace基础
工作原理
trace标签 · Ftrace与atrace关系
09
Systrace实战
UI Jank & VSync
SurfaceFlinger vsync · BufferQueue状态跟踪
10
内存概述
PSS/RSS/LMK
PSS/RSS/USS/VSS区别 · 低内存杀手LMK · kswapd
11
内存泄漏
LeakCanary & hprof
LeakCanary原理 · hprof分析 · MAT/Studio Profiler
12
OOM分析
Java Heap vs Native
Bitmap内存管理 · LargeHeap属性
13
卡顿定位
Choreographer原理
帧率计算 · 掉帧堆栈采集方法
14
IO性能
mmap与SQLite优化
mmap vs read/write · fstrim · WAL模式
15
CPU排查
top/perf/调度
top/htop · perf工具 · 频率调度与温控
16
死锁与锁
synchronized & ReentrantLock
死锁检测 · ThreadDump分析
17
系统服务
ServiceManager & Watchdog
binder线程池耗尽 · 系统服务watchdog
18
Binder问题
驱动与buffer
binder buffer限制 · transaction失败原因
19
SurfaceFlinger
合成与掉帧
HWComposer vs GPU · Layer数量 · SF掉帧
20
电源温控
wakelock & Thermal
wakelock滥用 · Thermal Engine · 充电异常
21
网络稳定性
Wifi断流与DNS
Wifi断流 · 移动数据切换 · DNS超时
22
存储稳定性
文件系统与eMMC
文件系统修复 · eMMC/UFS寿命 · data空间不足
23
多媒体稳定性
MediaCodec与DRM
编解码异常 · 音视频同步 · DRM权限
24
传感器输入
InputReader/Dispatcher
触摸事件丢失 · 传感器数据异常
25
稳定性测试
Monkey & UiAutomator
Monkey进阶 · UiAutomator脚本 · 压力工具链
26
线上监控
Tombstone与ANR率
Tombstone上报 · ANR率统计 · 自定义埋点
27
治理流程
根因分析5Why
问题分类 · 根因分析 · 修复验证闭环
28
内核稳定性
Kernel Panic分析
kdump/crash工具 · 驱动稳定性检查
29
稳定与性能
低内存与缓存
低内存配置 · 后台进程限制 · 预加载策略
30
综合实战
全流程与SLA
用户反馈到修复 · 多问题叠加 · 稳定性SLA