Активность, убитая системой при простое - PullRequest
0 голосов
/ 01 октября 2011

Я пишу программирование службы определения местоположения, когда пользователь выходит за пределы предварительно определенной зоны, приложение создает уведомление на панели задач. Я страдаю от того, что система автоматически убивает активность моего приложения. После того, как я скрыл приложение, нажав кнопку «Домой», активность приложения автоматически отключается через час. Проблема заключается в том, что пользователь не может получить никакого уведомления после того, как активность уничтожена системой. Примечание. Мой код GPS находится в классе активности без создания для него темы.

Можно ли решить проблему с помощью Сервиса? Возможно ли, что Служба также была убита системой?

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Я страдаю от того, что система автоматически убивает активность моего приложения. После того, как я скрыл приложение, нажав кнопку «Домой», активность приложения автоматически отключается через час.

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

Можно ли решить проблему с помощью Сервиса?

Да, служба может работать независимо от активности.

Возможно ли, что Служба также была убита системой?

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

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

Это очень возможно написать. Сложно писать хорошо, способами, которые обеспечат эту функциональность, не вызывая чрезмерного разряда батареи.

1 голос
/ 01 октября 2011

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

...