Где хранится Bundle во время уничтожения / Когда работает onSaveInstanceState()
onSaveInstanceState() — вызывается, только когда Activity уничтожается по инициативе системы, а не юзера
вызывается, когда активити уничтожена из-за:
• поворота экрана
• нехватки памяти
• смены языка
• других системных событий, требующих пересоздания\временного уничтожения активити
не вызывается:
• если пользоваться ушел с экрана кнопкой "назад"
• пользователь закрыл приложение
Bundle — объект-мапа, хранящий информацию в виде "ключ-значение"
Bundle на время пересоздания активити записывается в объект ActivityRecord, отвечающий за хранение информации о нашей активити
ActivityRecord в свою очередь связан через Task c ActivityManagerService.... нормальному человеку эти тонкости знать уже не надо)
В конечном итоге Bundle сериализуется (превращается в строку) и записывается на диск (а не остается в оперативке)
...,
в Bundle нельзя сохранять тяжелые данные. но почему?
чем отличается onCreate(Bundle state) от onRestoreInstanceState(Bundle state)?
Post #43
1.59K