【问题标题】:Do Android App SharedPreferences get deleted when the app crashes? [duplicate]当应用程序崩溃时,Android App SharedPreferences 会被删除吗? [复制]
【发布时间】:2018-01-18 20:53:25
【问题描述】:

我最近编写了一个用于跟踪我的锻炼的小应用程序,但该应用程序由于某种原因崩溃了。当我再次打开它时,存储在共享首选项中的所有数据都丢失了。它已经工作了大约一个月,直到现在才出现这个问题。

那么在什么情况下共享偏好会被删除?有没有更好的选择来轻松保存数据,以便我以后避免这种情况?

【问题讨论】:

  • 我认为这是一个很好的问题,并且在其他问题中没有得到有效的回答。投票保持开放。

标签: java android sharedpreferences


【解决方案1】:

如果您在更改 Shared Preference 方法的值后使用 commit(),它将快速保存,但如果您使用 apply() 方法,则无法确定是否保存,因为 apply 是异步的,它可能无法保存数据。

        SharedPreferences.Editor editor =                  sharedpreferences.edit();
       editor.putString(Name, n);
        editor.putString(Phone, ph);
        editor.putString(Email, e);
        editor.commit();

其他重要的一点是应用程序在保存数据之前、保存数据或保存数据之后崩溃的确切时间。

通过删除应用程序或设置中的清除数据按钮可以轻松清除共享偏好。

【讨论】:

  • 猜得好!如果发布者在调用提交方面存在生命周期问题,这非常有意义。为您的回答 +1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
相关资源
最近更新 更多