android ANR( Activity 无响应)trace.txt

标签 android trace android-anr-dialog

我的应用程序中偶尔会出现很难重现的 ANR 事件。今天它发生了,我从设备中取出了位于/data/anr 中的文件trace.txt。 不幸的是我无法理解这个文件中的数据,这里是完整的文件内容。 有人能理解是什么让我的应用程序的用户界面没有响应吗? 我已经阅读过类似的问题,但仍然无法阅读文件..

我已经把完整的trace.txt文件内容粘贴到了pastebin

编辑

pastebin 上的文件不再可用,我也无法访问 trace.txt 文件,因此可以关闭答案。

谢谢

最佳答案

您可以使用 Strictmode找出是什么调用延迟了特定线程。最好的使用方式是下面的形式。在您的应用程序 onCreate() 中启用 StrictMode。之后,(几乎)该线程上的所有缓慢调用都将报告到您的日志中,并包含发生位置的完整堆栈跟踪。

在您的自定义应用程序类中:

 public void onCreate() {
     if (DEVELOPER_MODE) {
         StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                 .detectAll()    // detect everything potentially suspect
                 .penaltyLog()   // penalty is to write to log
                 .build());
         StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                 .detectAll()
                 .penaltyLog()
                 .build());
     }
     super.onCreate();
 }

关于android ANR( Activity 无响应)trace.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400916/

相关文章:

python - 使用 eBPF 在 Python 堆栈级别跟踪代码是否可行?

android - Android 13 设备中面临高 ANR 率

java - 重影效应 : Two views on top of each other. 为什么?

android - Dagger 2 和 Android 数据绑定(bind)冲突

c# - 如何在 C# 中跟踪运行时的变量?

android - 如何从 traces.txt 中知道线程处于当前状态的时间

Android 应用程序无响应 (ANR)

android - Flutter - SQflite '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型 'Map<String, dynamic>' 的子类型

java - 自定义 KeyboardView 上的 keyOutputText 属性不输出任何文本

python - Zipkin 用于分析传统程序的内部结构