ANR

Stands for "Application Not Responding." ANR is an abbreviation that describes an unresponsive Android app. When an app is running on an Android device and stops responding, an "ANR" event is triggered. Two conditions may cause an ANR error on an Android device:

  1. An active app does not respond to an input event within 5 seconds.
  2. The BroadcastReceiver class does not finish executing after a long period of time.

If an ANR error happens on your Android device, a dialog box will appear on the screen. The message will inform you the application is not responding and will ask if you want to close the app. You have two options: Wait or OK. Choosing "Wait" will allow you to keep waiting if you want to give the app more time. Choosing "OK" will close the app and you may lose unsaved activity.

ANRs are different than crashes. A crash causes a program to quit unexpectedly. An ANR causes a program to "hang" in an unresponsive state for a few seconds, but it may recover.

ANR errors happen for many different reasons. Some are developer-related, such as a poorly written function that loops more times than necessary. Others are device-related, meaning the hardware cannot keep up with the demands of the app. For example, if an app is rendering a large document, it may take several seconds to load the data and render the image on the screen. This could produce an ANR message, though the process might complete a few seconds later.

Developers

Because ANRs create a poor user experience, developers aim to avoid them or at least reduce the number of occurrences as much as possible. The Android operating system records ANRs and the corresponding activities to help developers debug their apps. If an app is distributed via Google Play, the ANR data is automatically sent to Google. Developers can review the ANR data in the Android Vitals section of the Developer Console.

NOTE: No personal data is transmitted with ANR data. Only the app version, Android version, device type, and activity data (such as the current process) are recorded.

Updated September 11, 2018 by Per C.

quizTest Your Knowledge

Which programming language is designed for web scripting?

A
C
0%
B
C++
0%
C
PHP
0%
D
Scheme
0%
Correct! Incorrect!     View the PHP definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of ANR on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.