Activity 崩溃生命周期方法 - android

Posted

技术标签:

【中文标题】Activity 崩溃生命周期方法 - android【英文标题】:Activity crash lifecycle method - android 【发布时间】:2016-11-15 21:30:25 【问题描述】:

我正在开发一个应用程序,它在崩溃的情况下需要在崩溃时保存一些数据。现在,我将数据保存在 onDestroy() 中,如下所示:

@Override
protected void onDestroy() 
    saveState();
    super.onDestroy();

但每当我故意让我的应用程序崩溃时,不会调用 onDestroy() 并且不会保存我的数据。

我的问题是,如何在崩溃时保存我的数据?我应该采取哪种方法? 因为我还需要保存崩溃的时间,所以这是强制性的。

【问题讨论】:

参考***.com/a/8516056/3981656 【参考方案1】:

UncaughtExceptionHandler 非常适合捕捉崩溃。

【讨论】:

我在我的代码中实现了这个处理程序,它就像一个魅力!谢谢【参考方案2】:

很遗憾,您无法通过onDestroyonStop 方法检测到突然崩溃。您的选择是:

    使用 try-catch 块。将可能崩溃的地方包裹在 try 块中,并在 catch 块中捕获异常,然后就可以优雅地关闭应用了。

    在易受攻击的地方实施 try-catch 块。然后,您可以将 crashlytics 集成到您的应用程序中,并将异常记录到 catch 块中的 crashlytics 中。让几个用户彻底使用应用程序,然后在 crashlytics 分析中,您可以看到应用程序实际崩溃的大部分时间。

    使用acra。它捕获异常,检索大量上下文数据并将它们发送到您选择的后端。

您可以随时在 catch 块中记录系统时间并将您的数据保存在那里。

【讨论】:

感谢您的回复!我将尝试实现这一点并更新我的帖子

以上是关于Activity 崩溃生命周期方法 - android的主要内容,如果未能解决你的问题,请参考以下文章

Activity的生命周期

Activity与Fragment的生命周期详解

Activity的生命周期及常见回调顺序

Android Activity生命周期解析

Activity横竖屏切换生命周期变化

Activity生命周期