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

Ale*_*kov 7 android android-anr-dialog

我需要从Activity和BroadCastReceiver重现Application Not Responding(ANR)对话框.我试图创建一个简单的按钮点击:

 public void makeANRClick(View view){
    while (true);
}
Run Code Online (Sandbox Code Playgroud)

有了这段代码,我在android 2.3.7的模拟器上重现了ANR.相同的代码不适用于具有最新Android版本(4+)的真实设备.

另一项尝试如下:

public void onMakeANRClick(View view){
    try {
        Thread.sleep(15000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

这也没有用.有什么建议?

Yev*_*lik 1

关键字多线程。请阅读此主题http://developer.android.com/training/articles/perf-anr.html 另外,无法在广播接收器上管理UI组件,因为它不是UI组件。开发选项中还有一个名为“显示所有 ANR”的选项