2011-12-30 3 views
0

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

Как я могу очистить всю память, чтобы служба запускала свет, как при загрузке?

ответ

1

Остановите службу, если вы этого не сделаете уже (через stopService() или stopSelf()).

После этого ваш процесс в конечном итоге будет завершен ОС, когда ему понадобится ОЗУ для других процессов.

+0

Но ti не хочет, чтобы служба была закрыта, мне нужно, чтобы служба запускалась после закрытия приложения. – Fischer

+1

Во-первых, это вообще не очень хорошая идея. Пользователям очень не нравятся разработчики, которые постоянно работают в сервисах. Пользователи будут использовать убийцы задач и приложение «Настройки», чтобы избавиться от вашего сервиса. В конце концов, Android также избавится от вашего процесса, несмотря на обслуживание, хотя и не обязательно быстро. Тем временем ваш процесс будет использовать столько памяти, сколько ему нужно на пике. Таким образом, либо избавиться от вечной службы (например, использовать «AlarmManager» и модель опроса), либо жить с тем фактом, что вы потребляете эту память. – CommonsWare

+0

Спасибо. Сервис проверяет только каждые x часов для веб-сайта, если он обновляется для уведомления. Могу ли я использовать AlarmManager для этой задачи? – Fischer

Смежные вопросы