【发布时间】:2015-12-17 05:34:50
【问题描述】:
我正在构建一个有时会崩溃的应用程序,我想知道它在我下次打开它时崩溃了,所以我可以向用户建议一些崩溃后的选项。 如何检测崩溃? 另外我希望能够在用户崩溃之前保存用户的工作,我的意思是实时检测崩溃,我可以不知道它在哪里崩溃吗?
【问题讨论】:
标签: android crash crash-reports
我正在构建一个有时会崩溃的应用程序,我想知道它在我下次打开它时崩溃了,所以我可以向用户建议一些崩溃后的选项。 如何检测崩溃? 另外我希望能够在用户崩溃之前保存用户的工作,我的意思是实时检测崩溃,我可以不知道它在哪里崩溃吗?
【问题讨论】:
标签: android crash crash-reports
您需要知道它在哪里崩溃,以便将try/catch 块设置在正确的位置,呃,catch 崩溃并保存数据或您想到的任何内容。
如果您想更详细地考虑,这称为“优雅”终止。
不幸的是,Java 析构函数/finalize 方法和诸如 onDestroy 之类的生命周期方法都没有 try/catch 块那么强大,所以恐怕这是您唯一的选择,我们中有多少人处理异常预防。没有人会故意提供崩溃的用户体验,更不用说丢失数据了。
【讨论】:
参加ACRA library。您可以对其进行配置,以便在发生崩溃时进行控制,甚至通过电子邮件发送崩溃日志
【讨论】:
您可以使用try/catch blocks,然后在您的catch 中发送Exception 的详细信息。
【讨论】:
有实现 UncaughtExceptionHandler as mentioned in these answers 并在某个文件中写入崩溃报告或以其他方式使用它。
【讨论】: