ANR(应用程序无响应)与崩溃不同,崩溃通常发生在应用程序遇到意外错误或异常并被迫关闭时。另一方面,当应用程序无响应但尚未崩溃时,就会发生 ANR。类似地, ANR意味着应用程序处于昏迷状态??,崩溃意味着应用程序已死亡?。
ANR 和崩溃是移动测试期间可能发生的两种不同类型的问题。
ANR是指应用程序变得无响应或冻结并且不响应用户输入的情况。这可能是由多种因素引起的,例如阻塞主线程的长时间运行的操作,或者导致应用程序无响应的应用程序设计或实现问题。
另一方面,崩溃是指应用程序遇到意外错误或异常并被迫关闭的情况。这可能是由多种因素引起的,例如未处理的异常、空指针引用或者应用程序代码或配置的问题。
为了测试 ANR 和崩溃,开发人员和测试人员通常结合使用手动测试和自动化测试工具。手动测试涉及手动与应用程序交互并验证其行为是否符合预期,而自动化测试涉及使用测试工具和框架在应用程序上自动执行一系列测试。
为了识别和解决 ANR 和崩溃问题,开发人员和测试人员通常需要分析应用程序的日志和性能数据,以确定问题的根本原因。这可能涉及分析系统日志、分析应用程序的性能以及寻找有助于识别问题根源的模式或趋势。
总体而言,ANR 问题可能会让用户感到沮丧,并可能对应用程序的用户体验产生负面影响。对于开发人员和测试人员来说,仔细测试和调试他们的应用程序以确保它们在各种条件下都能响应、稳定并表现良好,这一点非常重要。
ANR
崩溃
根据 Crashlytics 仪表板中的 ANR 标记调试 Android 应用程序
ANR 与崩溃 | logcat 与错误报告