【发布时间】:2017-08-21 00:06:23
【问题描述】:
通过在 UI 线程上调用 Thread.sleep,我希望我的 android 应用程序崩溃,但事实并非如此。
我尝试通过使用runOnUiThread 在 UI 线程上显式运行它,但结果是一样的,应用程序冻结但没有崩溃。
在 UI 线程上使用 Thread.sleep(6000) 时,我应该预期应用会崩溃吗?
public class CrashActivity extends Activity {
@Override
protected void onResume() {
super.onResume();
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(50000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
我正在尝试模拟 ANR!
【问题讨论】:
-
我不认为它会崩溃,但它应该会冻结 UI。
-
为什么你的应用会崩溃?你的问题很模糊,不包含任何代码
-
您真的想知道为什么您的应用不会崩溃吗?答案是因为它不应该。没有错误代码。
-
我原以为 Android 操作系统会因为冻结 UI 线程而停止我的应用程序。
-
AFAIK Thread.sleep 不会因为您决定调用它而崩溃。
标签: java android multithreading crash