Android 几分钟后,共享引用消失。

Android 几分钟后,共享引用消失。,android,sharedpreferences,Android,Sharedpreferences,我有一个奇怪的问题,我还没有找到解决办法。 几分钟后,我创建了一个共享首选项编辑器,然后提交我所做的每一个更改,我的共享首选项就消失了。然后,我使用以下方法获取要使用的SharedReferences值: settings = getSharedPreferences("settings", 0); if(settings.contains("accesstoken")){ // create a string that stores the accesstoken from our

我有一个奇怪的问题,我还没有找到解决办法。 几分钟后,我创建了一个共享首选项编辑器,然后提交我所做的每一个更改,我的共享首选项就消失了。然后,我使用以下方法获取要使用的SharedReferences值:

settings = getSharedPreferences("settings", 0);

if(settings.contains("accesstoken")){

    // create a string that stores the accesstoken from our settings.
    String str_access = settings.getString("accesstoken", null);

    if(accesstoken_file_data != null){
        str_access = accesstoken_file_data;
    }
过了一会儿,我存储的访问令牌以及存储在SharedReferences中的所有其他数据似乎不存在。。。如果我把电话留几分钟的话。我正在开发HTC One X

我正在使用此方法添加值:

                            String accesstoken = "someVal";

                            SharedPreferences.Editor editor = settings.edit();

                            editor.putString("accesstoken", accesstoken);
                            editor.commit();

我还没有找到任何可行的解决办法。。。如果有人能帮助或指导我,那将是非常感谢的…

如果应用程序崩溃或被强制停止,SharedReferences有一种不幸的倾向,即擦除其数据-

如果从设置中清除应用程序数据,则会擦除所有保存方法(外部存储除外)


您可以尝试使用不同的保存方法来存储数据。您有数据库(SQLite)、内部和外部存储。最后两个是基于文件的。

Akki请解释这有助于回答我的问题。好的,我所有的电话都是本地的,如果它修复了或没有修复,我会发布更新。谢谢大家:)@AndersMetnik实际上我的建议是因为不清楚代码在哪里使全球存在。不是因为它会把事情搞砸。谢谢你更详细的回答。我很感激:)。