android - Android中的ANR和崩溃有什么区别?

标签 android

我在互联网上搜索了 ANR 是什么。我也研究了这些引用资料。但我没有得到有关 Android 崩溃的详细信息。

谁能告诉我 ANR(Android not Responding) 和 Android 崩溃之间的区别?

最佳答案

ANR 代表 A应用程序 Not Responding。

如果您在 UI 线程上运行需要很长时间(通常为 5 秒左右)的进程,则会发生 ANR。在此期间,GUI(图形用户界面)将锁定,这将导致用户按下的任何内容都不会被执行。大约 5 秒后,如果线程仍未恢复,则会显示一个 ANR 对话框,通知用户应用程序没有响应,并让用户选择等待,希望应用程序能够最终恢复,或强制关闭应用程序。

崩溃是指应用程序中发生了未处理的异常。例如,如果您尝试设置 EditText 组件的文本,但 EditText 为 null 并且没有 try catch 语句来捕获您的应用程序将崩溃的异常并将被强制关闭。用户将看不到导致崩溃的原因,他们将看到一个对话框,告知应用程序已意外强制关闭,并为他们提供发送错误报告的选项。在此示例中,如果您要查看错误报告,您会看到由 java.lang.NullPointerException 引起的错误。

关于android - Android中的ANR和崩溃有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20213482/

相关文章:

android Binder 驱动程序

Android Oreo 持久通知 "App is running in the background"

android - 如何使列表项可检查?

android - 每次放大或缩小图像时检测

java - 保存recyclerview列表的状态

java - 如何从另一个 fragment 打开一个 fragment

android - 经过身份验证的 Firebase 数据库监听器在一段时间后未触发

java - Class.forName android NoClassDefFoundError -> ClassNotFoundException

android - 如何模拟杀戮 Activity 以节省内存?

android - Google Play 排行榜未显示