在 android 内检测到应用程序崩溃
Detect app crash in android
我正在构建一个有时会崩溃的应用程序,我想知道它在我下次打开它时崩溃了,所以我可以向用户建议一些 post-crash 选项。
我怎样才能检测到崩溃?
另外我希望能够在崩溃之前保存用户的工作,我的意思是实时检测崩溃,我可以在不知道崩溃在哪里的情况下做到这一点吗?
您可以使用 try/catch
blocks,然后在您的 catch
中发送有关 Exception
的详细信息。
您将需要知道崩溃的位置,以便将 try
/catch
块设置在正确的位置,呃,catch
崩溃并保存数据或随心所欲。
如果您想更详细地考虑,这称为 "graceful" 终止。
不幸的是,Java destructor/finalize 方法和 onDestroy
等生命周期方法都没有 try
/catch
块那么健壮,所以我恐怕这是您唯一的选择,我们中有多少人处理异常预防。没有人会故意提供崩溃的用户体验,更不用说丢失数据了。
有实现 UncaughtExceptionHandler as mentioned in these answers 并在某些文件中写入崩溃报告或以其他方式使用它。
拍一张 ACRA library。您可以对其进行配置,以便在发生崩溃时可以控制它,甚至可以通过电子邮件发送崩溃日志
ACRA 已经提到了。
然而对于付费版本,我发现 BugSnag 非常擅长这一点。
或者,如果您想更进一步,请尝试 AppSee.
AppSee 甚至有崩溃发生的视频记录会话。它来自于点击第二个列表上的那个按钮、菜单按钮,甚至是当用户在您的 viewpager 中向左滑动时。
我正在构建一个有时会崩溃的应用程序,我想知道它在我下次打开它时崩溃了,所以我可以向用户建议一些 post-crash 选项。 我怎样才能检测到崩溃? 另外我希望能够在崩溃之前保存用户的工作,我的意思是实时检测崩溃,我可以在不知道崩溃在哪里的情况下做到这一点吗?
您可以使用 try/catch
blocks,然后在您的 catch
中发送有关 Exception
的详细信息。
您将需要知道崩溃的位置,以便将 try
/catch
块设置在正确的位置,呃,catch
崩溃并保存数据或随心所欲。
如果您想更详细地考虑,这称为 "graceful" 终止。
不幸的是,Java destructor/finalize 方法和 onDestroy
等生命周期方法都没有 try
/catch
块那么健壮,所以我恐怕这是您唯一的选择,我们中有多少人处理异常预防。没有人会故意提供崩溃的用户体验,更不用说丢失数据了。
有实现 UncaughtExceptionHandler as mentioned in these answers 并在某些文件中写入崩溃报告或以其他方式使用它。
拍一张 ACRA library。您可以对其进行配置,以便在发生崩溃时可以控制它,甚至可以通过电子邮件发送崩溃日志
ACRA 已经提到了。
然而对于付费版本,我发现 BugSnag 非常擅长这一点。 或者,如果您想更进一步,请尝试 AppSee.
AppSee 甚至有崩溃发生的视频记录会话。它来自于点击第二个列表上的那个按钮、菜单按钮,甚至是当用户在您的 viewpager 中向左滑动时。