Skip to content

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采集方案

参考资料

Comments