Насколько мускулистый Service
?Если в фоновом потоке все время ничего не происходит, то я бы сказал, что самый отзывчивый и эффективный способ - сохранить привязку к Service
, пока Activity
, содержащий ваш ListView
, работает.Таким образом, у вас нет «трудного случая».Помните: пока пользователь активно использует ваше приложение на переднем плане, это, очевидно, то, для чего ему нужны ресурсы устройства.
Будьте добропорядочным гражданином, однако, отмените службу на onPause()
и повторите привязку на onResume()
, чтобы Service
можно было быть убитым при необходимости.Я имею в виду, конечно, его можно убить в любом случае в любое время, но это часть того, чтобы быть ответственным гражданином Android.
Не забывайте, что Service
сущности по умолчанию выполняют всю их обработкув основной теме.Если ваш Service
выполняет тяжелую работу с обработкой onClick()
, о которой вы говорите, вы хотите, чтобы он работал в отдельном потоке или даже вставлял другой процесс в манифест.