我正在开发一款应用程序,当它崩溃时,需要保存一些数据以及崩溃的时间。现在,我在onDestroy()中这样保存数据:
@Override
protected void onDestroy() {
saveState();
super.onDestroy();
}
但是,每当我故意让我的应用程序崩溃时,onDestroy() 方法不会被调用,我的数据也没有保存。我的问题是,如何在应用程序崩溃时保存我的数据?我应该采取哪种方法?因为需要保存崩溃发生的时间,所以这是必须的。
我正在开发一款应用程序,当它崩溃时,需要保存一些数据以及崩溃的时间。现在,我在onDestroy()中这样保存数据:
@Override
protected void onDestroy() {
saveState();
super.onDestroy();
}
很遗憾,您无法通过onDestroy
或onStop
方法检测突然崩溃。您的选择是:
使用try-catch块。将可能发生崩溃的位置放入try块中,并在catch块中捕获异常,然后您可以优雅地关闭应用程序。
在易受攻击的地方实施try-catch块。然后,您可以将crashlytics集成到您的应用程序中,并在catch块中将异常记录到crashlytics中。让几个用户充分使用该应用程序,然后在crashlytics分析中,您可以看到应用程序实际上大多数情况下崩溃的位置。
使用acra。它捕获异常,检索大量上下文数据并将其发送到您选择的后端。
您始终可以在catch块中记录系统时间并将数据保存在那里。