Android
Crash 分析 & 优化¶
ANR 分析 & 优化¶
-
MessageQueue.nativePollOnce:
- 应用超过 100% 导致系统 60% 忙,webview初始化io 占用高,让其空闲在初始化
- 其他应用超过 100% 导致系统 60% 忙
-
Binder.transcat :
- 下载时频繁调用 ContentProvider 查询数据导致binder线程池满
- binder 调用耗时
- wps binder调用耗时
-
锁:
- sp waitall
- 线程锁
-
HardwareRenderer.nSyncAndDrawFrame阻塞:webview绘制时阻塞,浏览器存在大量过度绘制,优化浏览器 view 数
- 一帧绘制太久导致ANR,打印慢函数可定位
- 内存不足,多次触发gc
监控¶
java/kotlin crasher | desc |
---|---|
bugly | 业界标杆 |
xCrash | |
acra | 捕获前端与收集后端功能完整 |
Dropbox | Android系统 |
Sentry | java sentry,sentry提供server+client采集方案 |
c/cc crasher | desc |
---|---|
breakpad | 权威,跨平台,代码量大 |
coffeecatch | 实现简介,兼容性问题 |
xCrash | |
Dropbox | Android系统 |
Sentry | cpp sentry,sentry提供server+client采集方案 |