Почему приложение висит в фоне?

OsMoDroid GPS-трекер » Вопросы и ответы » Почему приложение висит в фоне?

Почему?

У некоторых пользователей возникает вопрос почему приложение остаётся или появляется вновь в списке фоновых процессов.

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

Важные события или сообщения или команды доставляются посредством Google Cloud Messages, а они в свою очередь при доставке на телефон пробуждают приложение (открывают, если его не было в списке процессов) и предлагают сообщение обработать в соответствии с его содержанием.

Таким образом, вступив хотя бы в одну группу - всегда есть шанс возникновения важных событий или сообщений, которые будут доставлены и приложение останется в списке процессов.

Зачем вообще эти сообщения и такие механизмы?

Поскольку у нас есть разные типы групп и взаимодействий в них, методы доставки событий и их приоритеты могут быть разными.

Самый яркий пример группы "Семья" - там максимальный приоритет практически у каждого действия.

В обычных группах приоритетными являются только сообщения поступающие в чат группы.

Как отключить такое поведение?

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

А это разве не расходует батарейку?

Фоновый процесс очень прост и лёгок и не делает по сути ничего, пока в него не поступит событие или сообщение.

Прямое соединение с сервером также не устанавливается без резкой необходимости, а в случае если оно уже установлено, оно автоматически завершается, когда нужда в нём пропадает.

02.08.2016