ANR
主要分析这个部分
第五部分不重要
怎么避免ANR
主要解决方案,不要在主线程中做耗时操作。
线上解决方案
使用bugly,收集错误信息。 这里要注意混淆的问题。 混淆以后,bugly会定位不准确。 需要上传“符号表” 来解决。
符号表可以通过bugly给提供的命令来生成。
常用工具
常用的工具:
-
Systrace: Systrace 是 Android 开发者工具包(Android Developer Tools)的一部分,用于分析系统性能和应用程序性能。它可以生成包含多个系统事件的跟踪文件,并提供图形化界面以可视化分析 ANR 问题。此工具是老版本,可以用新版本替换 developer.android.google.cn/topic/perfo…
-
Traceview: Traceview 是 Android SDK 提供的分析工具,用于分析应用程序的执行流程和性能。它可以分析 trace 文件,显示函数调用的时间线和耗时信息,帮助定位导致应用程序无响应的代码。
-
Android Studio Profiler: Android Studio 提供了强大的 Profiler 工具,可用于分析应用程序的性能和行为。使用 Profiler,您可以捕获并分析应用程序的 CPU 使用情况、内存分配、网络请求等信息,以帮助定位 ANR 问题。
-
MAT(Memory Analyzer Tool): MAT 是一个用于 Java 内存分析的强大工具,可以分析应用程序的内存使用情况。它可以导入和分析堆转储文件(如 HPROF 文件),帮助检测内存泄漏和优化内存使用。