首页
›
移动端与Android应用开发
›
015-无障碍国际化与线程调度
›
《SystemUI无障碍线程调试与性能分析指南》
VIP20
本课程属于:015-无障碍国际化与线程调度
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
SystemUI无障碍线程调试与性能分析指南
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
无障碍线程故障现象分类
ANR · 卡顿 · 死锁
无障碍线程故障现…
ANR
02
必备调试工具链
adb命令 · dumpsys · bugreport
必备调试工具链
adb
03
线程基本信息采集
通过adb shell ps -T获… · 通过/proc/pid/task/解…
线程基本信息采集
adb
04
ANR日志定位
从traces.txt提取主线程栈 · 识别无障碍服务阻塞点
ANR
日志定位
05
卡顿问题初筛
使用systrace抓取UI线程vs… · 定位帧率异常
卡顿问题初筛
systrace
06
死锁检测
通过dumpsys lock和dum…
死锁检测
dumpsys
07
无障碍服务线程模型理解
AccessibilityServi… · 回调线程 · 事件分发线程关系
无障碍服务线程模…
Accessibilit…
08
Handler与Looper性能分析
检查主线程MessageQueue积…
Handler
Looper
09
Binder线程池分析
使用dumpsys binder s…
Binder
线程池分析
10
线程优先级与调度
通过nice值 · cgroup分类判断系统调度是否合理
线程优先级
调度
11
锁竞争排查
使用perfetto ftrace查… · 定位高争用锁
锁竞争排查
perfetto
12
内存泄漏与线程泄漏
用dumpsys meminfo和l…
内存泄漏
线程泄漏
13
自定义Trace点
在关键回调中添加Trace.begi…
Trace
自定义
14
无障碍事件回调超时
分析logcat中Accessibi…
无障碍事件回调超…
logcat
15
跨进程调用耗时
通过binder transacti…
跨进程调用耗时
binder
16
UI线程与无障碍线程交互
通过ThreadSwitching事…
UI
线程
17
SELinux权限导致的线程异常
检查avc denial日志与线程挂…
SELinux
权限导致的线程异…
18
复现环境搭建
使用MonkeyRunner或UiA…
复现环境搭建
MonkeyRunner
19
基准性能数据采集
建立帧率 · ANR率 · 线程堵塞时间基线
基准性能数据采集
建立帧率
20
根因分析决策树
从故障现象出发逐步落定代码修改范围
根因分析决策树
从故障现象出发逐…
21
修复动作模板
异步化 · 锁粒度拆解 · 缓存优化
修复动作模板
异步化
22
代码审查检查表
针对无障碍相关线程安全 · 锁持有时间 · 回调超时
代码审查检查表
针对无障碍相关线…
23
修复验证方法
使用同组故障注入脚本确认问题不复现
修复验证方法
使用同组故障注入…
24
稳定性回归测试
通过CI自动化跑无障碍场景并收集性能…
稳定性回归测试
CI
25
线上监控方案
接入looper monitor · blockcanary或系统watc…
线上监控方案
looper
26
告警阈值设置
根据ANR率 · 帧率p99 · 线程阻塞时长定义SLO
告警阈值设置
ANR
27
预防设计模式
使用协程或rxjava避免主线程阻塞 · 使用消息队列限制
预防设计模式
rxjava
28
文档沉淀
将典型排查案例写成故障树模板供团队复…
文档沉淀
将典型排查案例写…
29
培训材料
针对开发人员培训无障碍线程调试最佳实…
培训材料
针对开发人员培训…
30
持续改进流程
每季度复盘全量ANR/卡顿问题 · 更新排查清单
持续改进流程
ANR
所属VIP或分类
同VIP:AOSP-Binder线程池响应优先级调优方法
同VIP:AOSP-Binder线程池配置调优实践
同VIP:AOSP无障碍线程架构学习指南