和你一起终身学习,这里是程序员 Android
本篇文章主要介绍 Android 开发中 应用Crash 部分知识点,通过阅读本篇文章,您将收获以下内容:
Crash 简介
发现问题
诊断问题
分析Crash堆栈信息
复现Crash
Memory异常模拟
网络异常模拟
logcat 调试异常
1. Crash 简介
每当未处理的异常或信号抛出时,就会导致APP意外退出,Android应用就会崩溃。如果使用Java编写的应用程序抛出由Throwable类表示的未处理的异常无人处理,APP 就会崩溃。如果在执行过程中出现未处理的信号(例如SIGSEGV),则使用 Native-Code 编写的应用程序将崩溃。
当应用程序崩溃时,Android会终止该应用程序的进程并显示一个对话框,让用户知道该应用程序已停止,如图1所示。
图1. Android设备上的应用程序崩溃
应用程序无需在前台运行即可使其崩溃。任何应用程序组件,甚至诸如在后台运行的广播接收器或内容提供程序之类的组件,都可能导致应用程序崩溃。这些崩溃通常使用户感到困惑,因为他们没有正在使用您的应用程序。
如果您的应用程序崩溃,则可以使用此页面中的指导来诊断和解决问题。有关如何在使用Native Code 构建的应用程序中诊断崩溃的指南,请参阅分析诊断Native Crash。
2. 发现问题
您可能并不总是知道您的用户因您的应用程序而崩溃。如果您已经发布了应用程序,则Android vitals可帮助您了解问题。
An