在我的应用程序中,我使用不同的键将大量信息保存在SharedPreferences中,并且在某一时刻,我从SharedPreferences中清除了所有数据。
我的应用程序正在各种设备上使用,并且此操作始终运行良好。
但是昨天,我在其中一台设备上遇到了问题,清除操作仅清除了共享首选项中的一些数据。
这是我用来清除SharedPreferences的代码:
var localData = Application.Context.GetSharedPreferences(GDefines.ABSC, FileCreationMode.Private);
localData.Edit().Clear().Commit();
这通常是清除操作后的SharedPreferences文件
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map />
但是昨天我的SharedPreferences文件在清除操作之后就拥有了
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="Cliente">MAQ.1247 TEST</string>
</map>
删除操作完成后,我在日志文件中写入了一条消息,并且消息已被写入。
您知道从SharedPreferences中删除一些记录后,清除操作可能会发生什么情况吗?
答案 0 :(得分:0)
使用apply而不是commit();因为不推荐使用
clear.apply();