我的应用程序中偶尔会出现很难重现的 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/