SharedPreferences 何时被删除?

11

SharedPreferences类允许以简单类型(布尔值,字符串等)格式保存应用程序数据。

通常情况下,这些数据不会被删除,应该是持久存在的。但是,在应用程序更新/删除或清除应用程序缓存等情况下,它们会被删除吗?

3个回答

20

当您从设备应用程序管理器中执行清除数据或卸载应用程序时,SharedPreference文件将被删除。

SharePreferences存储在内部。

/data/data/packagename/shared_prefs/prefsname.xml

除非你在清单文件中设置了 android:allowBackup="true",否则这些数据不会被恢复。如果设置了备份,它们可能会被还原。


但是找不到这个文件位置,我试了100次。 你能告诉我如何搜索这个文件夹吗? - Mohini
等一下,packagename 是你的应用程序的实际包名,通常类似于 com.something.appname。要访问 /data/data 目录,你需要一个已经 root 的设备,如果你正在使用 adb 来查找它 @Mohini - Blackbelt
我正在使用带有 USB 调试模式的 Eclipse,请告诉我如何搜索此文件夹? - Mohini
你需要一个已经root的设备。可以尝试使用模拟器@Mohini。 - Blackbelt
我认为你可以使用一个叫做文件浏览器的工具。它应该是ADT的一部分。@Mohini - Blackbelt

4
  1. Sharedpreferences will clear when you clear application data from Application manager by force.

  2. If you want to clear your application Sharepreference data, then you can use:

    PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();
    

那是我应用程序中的一个原因。 - CodeToLife

2

前往设置->应用程序设置->应用程序->清除数据会清除所有应用程序的数据(包括sqlitedatabase和shared preferences)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接