SharedPreferences Clear Не удалять все данные - PullRequest
0 голосов
/ 07 августа 2020

в моем приложении я сохраняю много информации в 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>

После операции удаления я записываю одно сообщение в файл журнала, и это сообщение было записано.

Есть идеи, что могло произойти с операцией Clear после удаления некоторых записей из SharedPreferences?

1 Ответ

0 голосов
/ 07 августа 2020

используйте apply вместо commit (); потому что фиксация устарела

clear.apply();
...