Я написал приложение, которое использует данные изолированного хранилища, которые я хочу периодически очищать, когда они устаревают. Я написал функцию, которая вызывается из закрытия, которая проверяет изолированное хранилище на наличие старых данных и удаляет их.
Эта процедура удалит все файлы, которые она предназначена, кроме двух последних файлов в каталоге. Когда я отлаживаю код, я вижу, что он выполняет метод DeleteFile для этих файлов. Я даже когда проверяю сразу после вызова DeleteFile, чтобы увидеть, существует ли еще файл. По словам отладчика, этого нет.
Тем не менее, когда приложение запускается снова, старые данные для этих последних файлов все еще находятся в изолированном хранилище. Думая, что это может быть состояние гонки, я поместил Thread.sleep (1000) после маршрутов удаления.
Телефон не учитывает эту задержку и выходит сразу после выполнения дельте-кода. Мне не удалось найти команду сброса, которая была бы связана с DeleteFile, поскольку на тот момент у меня нет ссылки на поток.
Кто-нибудь еще нашел это или что-то подобное? Есть ли какой-то метод волшебной очистки, который мне не хватает, или это дефект в реализации изолированного хранилища на телефоне?