Detecting ANR in Android apps using Firebase Crashlytics and Finotes.
Firebase Crashlytics is used in most of the mobile apps to detect crashes. It also reports ANRs in Android with a detailed stacktrace.
Finotes is a bug detection tool for Android and iOS apps. It captures a range of bugs including Crashes, ANRs, Memory Leaks, Memory Spikes, Abnormal Memory Usage, Frozen Frames, Slow Frames, HTTP API call issues, Screen Load Delays, and much more.
By definition ANR is triggered when the UI Thread gets blocked for 5 seconds or more. Finotes detects and reports ANRs as and when the issue happens. It provides a chronologically ordered Activity Trail and a detailed Stacktrace that helps in locating where the ANR was triggered.
In Firebase ANRs get captured only when the user opts to Force Quit the app and then reopen it. This selection is done when the dialog message pops up asking if the app should Force Quit or it should wait to see if the UI Thread comes back. That means if the user waits and the UI Thread comes back to normalcy the ANR will not be reported. Also if the user decides to not come back the Firebase will not report the ANR.
A detailed write up on how to use Finotes to detect the root cause of ANR is available here https://www.blog.finotes.com/post/detecting-and-fixing-anr-in-android-apps.
To know more about how Finotes can help you in detecting bugs, visit https://finotes.com. BTW, the tool works seamlessly in development, testing and live phases.