android - 如何从 Activity 和 BroadcastReceiver 重现应用程序无响应 (ANR)

标签 android android-anr-dialog

我需要从 Activity 和 BroadCastReceiver 重现应用程序无响应 (ANR) 对话框。 我尝试创建一个简单的按钮点击:

 public void makeANRClick(View view){
    while (true);
}

使用此代码,我使用 android 2.3.7 在模拟器上重现了 ANR。相同的代码在使用最新 android 版本 (4+) 的真实设备上不起作用。

另一种尝试如下:

public void onMakeANRClick(View view){
    try {
        Thread.sleep(15000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

这也无济于事。 有什么建议吗?

最佳答案

关键字多线程。请阅读本主题http://developer.android.com/training/articles/perf-anr.html 也没有办法在 Broadcast Reciever 管理 UI 组件,因为它不是 UI 组件。 开发选项中还有一个名为“显示所有 ANR”的选项

关于android - 如何从 Activity 和 BroadcastReceiver 重现应用程序无响应 (ANR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208140/

相关文章:

android - 如何通过包含依赖项的 gradle 制作 jar

android - 样式 ActionbarSherlock : textColor of the action-items

android - 切换应用程序时的致命信号 6 (SIGABRT)

android - 帮助阅读 Android 中的 ANR 堆栈跟踪

android - 诊断 ANR 的一般指南

android - 如何在 android achartengine 布局缩放上禁用 ANR 对话框 15000 点

android - 需要了解这个反复出现的问题,ANR keyDispatchingTimedOut

android - 从右向左滑动过渡动画。 fragment -> Activity

android - 如何使用 Intent 传递处理程序

java - 查找用户输入的数组中项目的索引