Очистка памяти после выполнения сборщика мусора в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Очистка памяти после выполнения сборщика мусора в Android

Сообщение Anonymous »

В приложении есть конфиденциальная информация, которую я хочу хранить в памяти как можно меньше времени.
Одним из них является, например, токен обновления. При обновлении токенов я получаю новый токен обновления с сервера oauth и сохраняю его в зашифрованном файле общих настроек. Когда поток завершается, я удаляю все задействованные объекты и запускаю сборщик мусора. Хотя эти адреса памяти освобождаются, они не стираются. Если я создам дамп памяти процесса с помощью Fridump, я увижу созданный им строковый файл:

Код: Выделить всё

$ grep -A 1 refresh_token ./dump/strings.txt
refresh_token
v1.MhgzhXC5U64v9ZfN3SFfuuPFyMYeSJ7XmQRkiNZPVSBSICYVU6CbGRWQ0ZY5obd_UmRnvR7wLatNQs3aQksmrZU
Эта информация будет присутствовать в памяти до тех пор, пока новые выделения памяти не перезапишут ее. Широкое использование приложения (создание и уничтожение действий, выполнение запросов к серверу и т. д.) в конечном итоге записывает новые данные в эти позиции памяти, и эту информацию больше нельзя получить.
Проблема в том, что если пользователь отправляет приложение в фоновый режим или выходит из приложения сразу после POST токена обновления (и, таким образом, перестает с ним взаимодействовать), новый токен обновления живет в памяти процесса до тех пор, пока Android не потребуются его ресурсы и не закроет приложение. Это может занять очень много времени.
В Java или Kotlin у нас нет прямого доступа к памяти, как в неуправляемых языках, таких как C++, и поэтому мы не можем стереть области памяти. .
Может ли кто-нибудь, кто сталкивался с такой ситуацией, дать мне совет?

Подробнее здесь: https://stackoverflow.com/questions/783 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»