Найти в Дзене
Ирина Кострова

Цели и требования Android

В основном, упомянутые методы предназначены для работы с вещами на общем уровне приложения (например, соединение последних частей пользовательского интерфейса в onCreate(), закрытие фоновых потоков в onPause()).
Тем не менее, большая часть цели Android заключается в том, чтобы обеспечить бесшовность. Действия могут появляться и исчезать в зависимости от требований к памяти, но пользователи, в идеале, не должны знать, что это происходит. Если, например, пользователь пользовался калькулятором и вернулся к нему после отсутствия, он должен увидеть то число (числа), над которым он работал изначально - если только он сам не предпринял каких-либо действий, чтобы закрыть калькулятор.
Чтобы все это работало, действия должны иметь возможность сохранять состояние своего экземпляра приложения, причем делать это быстро и дешево. Поскольку деятельность может быть завершена в любой момент, ей может потребоваться сохранять свое состояние чаще, чем можно было бы ожидать. Затем, когда деятельность п



В основном, упомянутые методы предназначены для работы с вещами на общем уровне приложения (например, соединение последних частей пользовательского интерфейса в onCreate(), закрытие фоновых потоков в onPause()).



Тем не менее, большая часть цели Android заключается в том, чтобы обеспечить бесшовность. Действия могут появляться и исчезать в зависимости от требований к памяти, но пользователи, в идеале, не должны знать, что это происходит. Если, например, пользователь пользовался калькулятором и вернулся к нему после отсутствия, он должен увидеть то число (числа), над которым он работал изначально - если только он сам не предпринял каких-либо действий, чтобы закрыть калькулятор.

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

Сохранение состояния экземпляра обрабатывается функцией onSaveInstanceState(). Она предоставляет Bundle, в который активности могут заливать любые необходимые им данные (например, число, отображаемое на дисплее калькулятора). Реализация этого метода должна быть быстрой, поэтому не старайтесь проявлять излишнюю фантазию - просто поместите данные в Bundle и выйдите из метода.