В моем приложении для Android я использую набор случайно сгенерированных имен файлов для хранения некоторых данных.Чтобы гарантировать, что один и тот же набор имен файлов генерируется при перезапуске приложения - и все же различается для каждой установки приложения - я запускаю процесс, выбирая имена в качестве подстрок из длинной строки случайных буквенно-цифровых символов, которые я генерирую, когдаприложение установлено.Эта последняя строка хранится в общих преференциях.
Когда я тестировал приложение, у меня возникла довольно специфическая проблема.Время от времени я делаю серьезные изменения, чтобы полностью удалить приложение - и даже принудительно закрыть его + очистить все его данные.В этот момент я ожидаю, что устройство не будет иметь «предварительных знаний» о приложении, если оно будет переустановлено.И все же я обнаружил, что строка «Общие настройки» каким-то образом «запоминается».Это приводит к хаосу, если между тем я изменил способ подстроки имени файла выбрать из сохраненной строки общих настроек.
Как я могу убедиться, что приложение имеет «нулевую память» ранее установленной версии, которая имеетвпоследствии был удален?
Одним из решений, которое я использовал в прошлом, было указание Android не делать никаких резервных копий через файл манифеста, android:allowBackup = "false"
.Тем не менее, я отказался от этой идеи, поскольку - если я не ошибаюсь - это фактически означает, что я запрещаю пользователю переносить свое приложение на новое устройство, когда они решают сменить телефон.