首页
›
移动端与Android应用开发
›
004-AOSP框架组件Navigation导航栈设计
›
《导航操作导致ANR的排查与优化案例》
VIP20
本课程属于:004-AOSP框架组件Navigation导航栈设计
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
导航操作导致ANR的排查与优化案例
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
ANR现象识别
用户卡顿 · 系统弹窗 · 导航响应超时
ANR
现象识别
02
导航操作场景收集
Fragment/Activity跳… · 地图渲染 · 路径规划
导航操作场景收集
Fragment/Act…
03
日志采集准备
adb logcat · 系统ANR trace文件 · systrace
日志采集准备
adb
04
ANR trace文件解读
主线程堆栈 · binder调用 · 锁等待
ANR
trace
05
导航组件生命周期分析
onCreate/onResume耗… · Fragment事务提交阻塞
导航组件生命周期…
onCreate/onR…
06
地图SDK初始化过慢
Tile加载 · 离线数据解压 · 网络请求超时
SDK
地图
07
路径规划计算任务
路由算法在主线程执行 · 线程池未隔离
路径规划计算任务
路由算法
08
手势动画与布局重绘
高频率setPOI导致measure…
手势动画
布局重绘
09
锁竞争与死锁场景
SharedPreferences · 数据库写入 · Binder同步调用
锁竞争
死锁场景
10
系统服务调用ANR
LocationManager · SensorManager高频注册
ANR
系统服务调用
11
systrace/perfetto实战
标记关键区间 · 识别长时间任务 · CPU/GPU瓶颈
systrace/per…
标记关键区间
12
主线程卡顿归因
消息队列堆积 · Handler消息耗时 · UI渲染超16ms
主线程卡顿归因
消息队列堆积
13
代码静态审查
导航SDK内部调用链 · 主线程IO · Bitmap解码时机
代码静态审查
SDK
14
单例与全局锁排查
对象创建锁 · 懒加载锁 · 线程池任务队列溢出
单例
全局锁排查
15
内存抖动与GC停顿
频繁对象分配 · 位图复用 · mat分析
GC
内存抖动
16
修复动作一
异步化路径规划 · 使用WorkManager或协程
修复动作一
异步化路径规划
17
修复动作二
地图SDK懒加载与预加载分离 · 降低首次渲染时间
修复动作二
SDK
18
修复动作三
手势事件节流 · 使用RxBinding或ViewTr…
修复动作三
手势事件节流
19
修复动作四
替换SharedPreference…
修复动作四
SharedPrefer…
20
修复动作五
Binder异步回调替代同步等待 · 增加超时熔断
修复动作五
Binder
21
修复动作六
主线程Bitmap加载改为Glide…
修复动作六
Bitmap
22
复测方案一
压力测试 · 模拟连续导航操作与多场景切换
复测方案一
压力测试
23
复测方案二
ANR监控工具接入 · 拦截关键路径耗时
复测方案二
ANR
24
复测方案三
低端设备专项测试 · 2GB内存+弱网环境
复测方案三
低端设备专项测试
25
预防机制一
线程模型规范 · UI线程不可执行网络/IO/计算
预防机制一
线程模型规范
26
预防机制二
自定义ANRWatchDog实时检测…
预防机制二
ANRWatchDog
27
预防机制三
耗时操作上报APM · 设定阈值告警
预防机制三
APM
28
预防机制四
代码审查清单与自动化lint规则
预防机制四
lint
29
案例复盘
从Trace到修复的全链路文档模板
案例复盘
Trace
30
知识迁移
其他UI操作导致ANR的通用排查方法…
知识迁移
UI
所属VIP或分类
同VIP:Android-Activity重建后的导航状态恢复
同VIP:ANR问题定位与导航栈优化实践
同VIP:Binder调用与导航事件路由学习指南