Переходы между состояниями активности
Когда пользователь решает перейти к другой активности, система вызывает метод onPause() текущей активности. После этого можно ожидать вызова либо onResume() , либо onStop() . Метод onResume() вызывается, например, если пользователь перемещает активность на передний план, а onStop() — если активность становится невидимой пользователю. Если после вызова onStop() активность снова переводится на передний план, то вызывается метод onRestart() . Если активность находится в стеке активностей, но не видна пользователю, и система решает уничтожить ее, вызывается метод onDestroy() .
Описанная модель состояний активности выглядит сложной, но вам не обязательно прорабатывать все возможные ситуации. Обычно приходится иметь дело с методами onCreate() , onResume() и onPause() . Метод onCreate() необходим для создания пользовательского интерфейса для активности. В этом методе данные связываются с виджетами и обработчиками событий для компонентов пользовательского интерфейса. В методе onPause() нужно сохранить важные данные в хранилище данных приложения: это последний безопасный метод, который вызывается перед уничтожением приложения системой. Методы onStop() и onDestroy() могут и не быть вызваны, поэтому не надейтесь на них в важных частях кода.
Утомились от этого обсуждения? Система управляет работой приложения, и она может запускать, останавливать и продолжать работу компонентов приложения в любой момент. Однако, несмотря на управление со стороны системы, компоненты не полностью изолированы от приложения. Другими словами, если система запускает активность в приложении, в этой активности можно рассчитывать на контекст приложения.
Итак, вы ознакомились с основами создания нового Android-приложения, с выполнением Android-приложения в эмуляторе, с базовой структурой Android-приложения и еще с несколькими аспектами, которые часто встречаются в Android-приложениях. Но пока еще не было показано, как устранять возможные проблемы. Поэтому в последнем разделе этой главы рассматривается простая отладка.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.