Где сохранен пакет onSaveInstanceState?

Я хотел бы знать, где хранится пакет «outState» метода onSaveInstanceState (Bundle outState) .

Он хранится в памяти или в памяти устройства?

Меня беспокоит безопасность данных, которые хранятся в комплекте.

Я не думаю, что какой-либо вредоносный фоновый процесс может получить данные пакета вашего приложения. Не описано, как Android обрабатывает данные Bundle. Это может быть или не быть записано на диск в случае, если ваше приложение будет очищено, в фоновом режиме. Однако, учитывая, что мы не знаем, сохранены ли эти данные на диске, и если это так, учитывая, что мы не знаем, где и почти наверняка не имеют доступа к чтению этой части диска, я бы Не беспокойтесь о том, что какой-то сторонний процесс сможет восстановить эти данные.

Следовательно, я не совсем понимаю, что вы думаете об экспозиции. Хотя я могу что-то упустить. Тем не менее, в ответ на ваш вопрос, это абсолютно в памяти, пока ваше приложение живое, и если ваше приложение задумано, оно может быть или не быть написано где-то скрытым, но мы не знаем, потому что Google не сказал нам.

Он уничтожается вместе с приложением при сборке памяти.

Чтобы хранить данные только для времени жизни приложения (т. Е. Временно), используйте событие активности onSaveInstanceState (Bundle)

Эти данные будут храниться только в памяти до тех пор, пока приложение не будет закрыто , данные будут доступны в любое время, когда это действие начнется в течение текущего времени работы приложения.

Объяснение: если данные хранятся здесь активностью A, тогда приложение показывает другое действие или поворачивает экран (следовательно, закрывая A), а затем возвращается к A, данные могут быть извлечены для заполнения элементов управления. Однако, если приложение закрыто и открыто снова, данные исчезнут, а элементы управления вернутся к значениям по умолчанию.

Пример использования: сохранение текста, введенного пользователем, и выбор, составляющий заказ, запись в блоге, сообщение и т. Д.

Заметка:

Важно заметить, что только активность уничтожена и воссоздана, а не все ваше приложение! Приложение Android может состоять из многих видов деятельности, служб и контент-провайдеров! Если приложение закрыто (например, нажав кнопку «Назад», то все значения будут удалены. SavedInstaceState только там, чтобы сохранить данные временные, когда действие уничтожено / воссоздано, а не само приложение.

Если вы хотите постоянно сохранять данные, вам необходимо сохранить их либо в виде настроек, либо в ContentProvider / database.

Мое предположение было бы в памяти, но лучший способ защитить ваши данные – не доверять системе и шифровать ее. Никогда не доверяйте клиенту (в данном случае клиентом является ОС).

РЕДАКТИРОВАТЬ:

Чтобы быть ясным, я не говорю, что зашифровал пакет. Скорее я говорю, что любые конфиденциальные данные не следует вводить в комплект. Если вы должны поместить пользовательские данные в пакет, затем зашифруйте его.

Но в конечном итоге вы должны хранить как можно меньше конфиденциальных данных на клиенте. По этой же причине сайт электронной коммерции будет показывать только последние 4 цифры кредитной карты.

Intereting Posts
Почему Android не может иметь дело с конфликтом имен ресурсов между Project и Library? Как получить основной цвет материальной темы в xml drawable? EGLConfig не найден в эмуляторе, эмуляция gpu верна Совместное использование рабочего пространства Eclipse между Linux и Windows Мощность обработки – мобильные устройства против рабочего стола – разница в 100 раз? Плавающий видеопроигрыватель в Android? Как показать просмотр в режиме реального времени предварительного просмотра камеры во время записи видео? Тест инструментальных средств Android не работает на Travis CI AVD, но работает на локальном эмуляторе Как установить state_selected в ряби Android: мягкая клавиатура выдвигает весь макет, необходимо изменить размер списка Можем ли мы отправить данные с устройства Android на другое устройство Android напрямую (p2p) без сервера посередине? Создание приложения NDK с Android ADT в Windows Android-эмулятор не устанавливает приложение при использовании команды «ионный эмулятор андроида» Размер Android ViewPager Синхронизация времени для записи данных на нескольких устройствах Android