Как работает многозадачность в Android

Многозадачность в Android — тема довольно специфическая, обычному пользователю знать все ее тонкости не обязательно. Разработчикам ПО для Android желательно, конечно, разобраться с многозадачностью, но эта статья, к сожалению, не для разработчиков, а для простых пользователей. Поэтому мы поговорим о многозадачности с точки зрения обычного пользователя.

У приложений есть несколько компонентов, нас больше всего интересуют Activities (деятельность) и Services (сервисы). Деятельность (Activity) — это то, что пользователь видит на экране, т. е. интерфейс программы. Именно деятельности и являются основными пожирателями оперативной памяти устройства. Деятельность может находиться в трех состояниях: активна (видимо на экране, пользователь взаимодействует с ней), приостановлена (пауза) и остановлена (приложение полностью или частично закрыто другим окном и неактивно).

Система Android автоматически освобождает оперативную память при достижении минимального порога свободной памяти. В первую очередь закрываются деятельности в состоянии «остановлена», затем — «приостановлена». Система выбирает те приложения, которые дольше всего не использовались, и «убивает» их. Вам, как пользователю, не нужно думать об освобождении памяти, да и телефон у вас не зависнет, если вы запустите очень много приложений, просто Android завершит неиспользуемые вами приложения, когда наступит час «X». Чем больше у телефона оперативной памяти, тем больше приложений можно запустить одновременно.

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

Выяснить, какой сервис «жрет» батарейку, поможет программа Power Tutor. Что делать потом? Первое, что приходит в голову — установить какой-то таск-киллер и «убить» сервис, пожирающий аккумулятор. Но это не выход, т. к. в дальнейшем он все равно будет поедать ваш аккумулятор. Лучше всего удалить приложение, которому принадлежит сервис, и установить другое приложение с подобными функциями. Все дело в «криворуких» программистах, которые толком не умеют разрабатывать приложения для Android. Надо сказать, что сама программа Power Tutor потребляет много энергии, поэтому после использования ее тоже лучше удалить.

Кстати, так называемые таск-киллеры использовать вредно. Почему? Чтобы объяснить вам почему, нужно познакомить вас с компонентами приложений, с жизненным циклом приложений, а все это — более сложные материи, выходящие за рамки данной статьи. Многозадачность в Android — тема достаточно интересная, но не для обычного пользователя. Вам же нужно взять за правило не «убивать» самому приложения. Пусть за вас это сделает система.


Top