Android系统性能优化50问

📚 共计 50 章节
01
Android性能优化概述
为什么需要性能优化 · 性能目标 · 核心指标 (FPS/内存/CPU/IO/网络)
概述指标
02
布局优化(上)
过度绘制原理 · Hierarchy Viewer · RelativeLayout vs ConstraintLayout
布局层级
03
布局优化(下)
ViewStub · merge标签 · include复用 · 自定义View优化
延迟加载复用
04
内存优化(上)
Java内存模型 · GC机制 · 内存泄漏场景 (Handler/静态变量/单例)
内存泄漏
05
内存优化(下)
LeakCanary · MAT堆转储 · 内存抖动 · Bitmap管理
工具Bitmap
06
卡顿优化(上)
卡顿原因 · Choreographer · Systrace · TraceView
卡顿分析
07
卡顿优化(下)
BlockCanary · AsyncLayoutInflater · 线程优化 · 消息队列
异步消息
08
启动优化
冷/热启动 · Application初始化 · ContentProvider · 黑白屏处理
启动体验
09
网络优化(上)
HTTP/HTTPS · DNS解析 · 连接池复用 · 请求合并压缩
网络连接
10
网络优化(下)
OkHttp拦截器 · Retrofit缓存 · 弱网优化 · 预连接
缓存弱网
11
图片优化
WebP/AVIF · Glide vs Coil · 压缩策略 · 三级缓存
图片缓存
12
数据库优化
SQLite瓶颈 · 事务批量 · 索引优化 · Room最佳实践
数据库Room
13
线程优化
线程池参数 · AsyncTask替代 · 协程 · HandlerThread
线程协程
14
电量优化
Battery Historian · JobScheduler/WorkManager · AlarmManager · 传感器
电量调度
15
APK瘦身
AndResGuard · ProGuard/R8 · 动态库精简 · 无用资源删除
瘦身混淆
16
渲染优化
GPU渲染 · 硬件加速 · SurfaceView vs TextureView · 离屏缓冲
渲染GPU
17
动画优化
属性动画原理 · 帧动画优化 · 转场动画 · Lottie
动画Lottie
18
列表优化(上)
RecyclerView缓存 · DiffUtil · ItemDecoration · 嵌套滑动
列表缓存
19
列表优化(下)
Paging3 · 异步加载 · 预加载 · 卡顿监控
分页预加载
20
IO优化
文件读写 · MMKV · Parcelable vs Serializable
IO序列化
21
安全优化
混淆加固 · WebView安全 · 数据加密 · HTTPS证书
安全加密
22
架构优化
MVC/MVP/MVVM · Jetpack · 模块化/组件化 · Hilt
架构DI
23
编译优化
Gradle构建 · 增量编译 · KSP vs KAPT · 构建缓存
编译Gradle
24
多进程优化
Binder · 多进程注意事项 · RemoteViews · 保活策略
进程Binder
25
通知优化
通知渠道 · 优先级 · 自定义布局 · 聚合
通知渠道
26
传感器优化
采样率控制 · 批处理 · 传感器融合 · 功耗
传感器功耗
27
定位优化
定位策略 · 频率控制 · 地理围栏 · 室内定位
定位GPS
28
蓝牙优化
BLE连接 · MTU调整 · 数据分包 · 扫描参数
蓝牙BLE
29
WiFi优化
扫描频率 · 网络切换 · 热点检测 · WiFi RTT
WiFi扫描
30
摄像头优化
CameraX · 预览帧率 · 拍照延迟 · 图像处理流水线
摄像头CameraX
31
音频优化
音频延迟 · AudioTrack vs MediaPlayer · 焦点管理 · 回声消除
音频延迟
32
视频优化
解码器选择 · 硬解/软解 · 缓冲策略 · HDR
视频解码
33
WebView优化
预加载 · 缓存策略 · JS Bridge · 内存泄漏
WebView缓存
34
插件化优化
加载机制 · 资源冲突 · 组件生命周期 · 热修复对比
插件化热修复
35
热修复优化
Tinker vs Sophix · 补丁生成 · 类加载 · 资源修复
热修复补丁
36
性能监控平台
自定义SDK · 数据上报 · 实时告警 · APM搭建
监控APM
37
ANR优化
ANR原因 · 日志分析 · 主线程耗时检测 · SIGQUIT
ANR日志
38
Crash优化
捕获机制 · 堆栈解析 · 符号化 · 聚合分析
Crash符号化
39
日志优化
日志分级 · 异步写入 · 压缩 · 上传策略
日志异步
40
资源优化
资源引用分析 · 无用清理 · 国际化 · 适配策略
资源适配
41
签名优化
V1/V2/V3对比 · 验证性能 · 打包优化 · 多渠道
签名多渠道
42
混淆优化
规则编写 · 反射处理 · 第三方库 · 映射文件
混淆ProGuard
43
多Dex优化
Dex拆分 · 加载优化 · 65535限制 · 预加载
Dex方法数
44
So库优化
So裁剪 · ABI适配 · 动态加载 · 压缩
So库ABI
45
资源混淆优化
路径混淆 · 资源合并 · 白名单 · 调试
混淆资源
46
增量更新优化
BSDiff · 补丁生成/合成 · 增量更新框架
增量补丁
47
组件化优化
组件通信 · ARouter · 生命周期 · 隔离
组件化路由
48
模块化优化
划分原则 · 依赖管理 · 编译优化 · 测试
模块化依赖
49
性能测试
基准测试 · 压力测试 · 稳定性 · 回归测试
测试基准
50
性能优化总结
优化优先级 · 效果评估 · 持续优化 · 团队协作
总结流程