Жизненный цикл Android-приложения

9 сентября 2011 г.

Предисловие

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

Android

Введение

В Android, приложение запускается как отдельные Linux процессы. Жизненный цикл приложения тесно связан с жизненным циклом его процесса. Также он зависит от текущего состояния системы.
В случае нехватки памяти, Android убивает наименее значимые процессы. Значимость процесса зависит от его типа.
Типы процессов в зависимости от важности выглядят следующим образом (от наиболее до наименее важных):

Процесс переднего плана

Процесс переднего плана — процесс приложения, с которым пользователь взаимодействует в данный момент.
Процесс счиатется таковым, если его Activity находится на вершине Activity-стека (его функция onResume() была вызвана), или его Broadcast Receiver работает в настоящее время (onReceive() исполняется приложением в данный момент), или же его Service выполняет callback-методы, такие как onCreate(), onStart() или onDestroy().

Видимый процесс

Видимый процесс — процесс, который имеет Activity, видимый конечному пользователю в данный момент времени.

Служебный процесс

Служебный процесс — процесс, содержащий Service, для которого была вызвана функция startService(), при условии, что данная служба сейчас работает.

Процесс заднего фона

Данный процесс не имеет видимых пользователю Activity (была вызвана функция onStop()).

Пустышка

Это процесс, не имеющий каких-либо активных компонентов приложения.

Заключение

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

Теги: рубрика Интернет