0

我创建了一个自定义应用程序类来保存我的应用程序的全局信息。

在我的应用程序从崩溃中重新启动后,我需要取回这些信息。我不需要将这些信息存储在磁盘中,因为只是来自用户当前会话的信息,但如果应用程序崩溃,我应该从用户崩溃前的确切位置开始。

我想用两种方法来解决我的问题: 1-跟踪变量更改并始终将其保存在 SharedPreferences 中 2-始终保存然后保存在活动 saveInstance 中,然后从 savedInstanceBundle 中保留

解决方案 1 的问题是每次更改都会产生开销。解决方案 2 的问题是我需要序列化每个信息。

大佬们知道解决这个问题的其他方法吗?我只需要在应用程序崩溃时存储并在崩溃后重新加载。就在这两种情况下。

4

1 回答 1

1

我目前正在使用以下代码来跟踪我的应用程序何时崩溃,因此我可以向用户显示更好的崩溃屏幕,它还允许我将有关崩溃的信息发送到我的服务器以供以后调试。

Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread thread, Throwable ex) {
        //Get information and save the information 
    }
});

但就像警告一样,您需要在您创建的每个活动/服务中设置它以使其 100% 有效。

就我个人而言,我的所有活动都有 1 个基类,我的所有服务都有 1 个基类,然后这些类实现 UncaughtExceptionHandler,这样可以节省大量的头痛和代码复制粘贴。

于 2015-10-03T01:19:25.027 回答