Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android DefaultSharedReference在文件删除后保留值_Java_Android_Sharedpreferences - Fatal编程技术网

Java Android DefaultSharedReference在文件删除后保留值

Java Android DefaultSharedReference在文件删除后保留值,java,android,sharedpreferences,Java,Android,Sharedpreferences,因此,预期结果应该是0,我做错了什么?您删除了您的文件而不是共享首选项。要了解共享首选项是如何工作的,请阅读本基本教程:创建SharedReferences实例时,将从文件中获取共享首选项。因此,这些值被缓存在内存中。因此,如果删除该文件,值仍会被缓存。要生效删除SharedReferences文件,您需要重新创建SharedReferences实例不要删除SharedReferences文件 请尝试以下代码,而不是此代码: I/Hello : We deleted it I/Hello : R

因此,预期结果应该是0,我做错了什么?

您删除了您的文件而不是共享首选项。要了解共享首选项是如何工作的,请阅读本基本教程:

创建SharedReferences实例时,将从文件中获取共享首选项。因此,这些值被缓存在内存中。因此,如果删除该文件,值仍会被缓存。要生效删除SharedReferences文件,您需要重新创建SharedReferences实例

不要删除SharedReferences文件

请尝试以下代码,而不是此代码:

I/Hello : We deleted it
I/Hello : Reading 1482471022197

共享首选项是否未存储在xml文件中?如果我删除了共享首选项接口读取以提取值的文件,那么如何在读取时获得非默认值?@VinaySharma通过我的答案链接,您将了解共享首选项的工作方式以及如何对其进行操作。您确定这一点,我创建了一个不同的SharedReference对象,得到了相同的值。@VinaySharma,我以前是肯定的,但现在不是:-通常手动删除文件不是一个好主意。我说的对吗,你想清除共享引用?是的,我知道。这个问题来自curosity。@VinaySharma,有时会有一些.bak备份文件用于共享pref。是的,备份文件的存在似乎是一个合理的解释。
I/Hello : We deleted it
I/Hello : Reading 1482471022197
sp.edit().clear();
sp.edit().commit();