ANR

表示“Application Not Responding”。ANR 是用于描述无响应 Android 应用的缩写。当一个 应用 在 Android 设备上运行并停止响应时,就会触发“ANR”事件。Android 设备上可能因以下两种情况导致 ANR 错误:

  1. 活动应用在 5 秒内没有响应 输入事件。
  2. BroadcastReceiver 经过很长时间后仍未执行完毕。

如果 Android 设备发生 ANR 错误,屏幕上会出现一个 对话框。该消息会告知你应用没有响应,并询问你是否要关闭应用。你有两个选项:等待确定。选择“等待”后,如果你想给应用更多时间,就可以继续等待。选择“确定”会关闭应用,你可能会丢失未保存的操作。

ANR 与崩溃不同。崩溃会导致程序意外退出。ANR 会使程序在几秒钟内处于无响应的“卡住”状态,但程序可能会恢复。

ANR 错误可能由许多不同原因导致。有些与开发人员有关,例如编写不佳的 函数进行了不必要次数的循环。另一些与设备有关,也就是说硬件无法满足应用的需求。例如,如果应用正在渲染一个大型 文档,可能需要几秒钟才能加载数据并在屏幕上渲染图像。这可能会产生 ANR 消息,但 进程可能会在几秒钟后完成。

开发人员

由于 ANR 会带来糟糕的用户体验,开发人员会尽量避免 ANR,或至少尽可能减少其发生次数。Android 操作系统会记录 ANR 及相应的活动,以帮助开发人员对应用进行调试。如果应用通过 Google Play 分发,ANR 数据会自动发送给 Google。开发人员可以在 Developer Console 的 Android Vitals 部分查看 ANR 数据。

NOTE: ANR 数据不会传输任何个人数据。系统只会记录应用版本、Android 版本、设备类型和活动数据例如当前的 (进程)。

更新日期 September 11, 2018 作者 Per C.

quiz测试你的知识

Writing HTML source code for a website is what type of development?

A
WYSIWYG
0%
B
UI/UX
0%
C
Frontend
0%
D
Backend
0%
Correct! Incorrect!     View the Backend definition.
More Quizzes →

Tech Terms 计算机词典

本页中ANR的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。