У меня есть служба IDL смешанного регистра, которую я использую двумя способами:
- Служба создаст поток и сделает сетевой вызов, чтобы получить некоторый XML-контент от имени Activity. Содержимое возвращается обратно в Activity через клиентский IDL, который определяет методы обратного вызова.
- Если пользователь выбирает вариант уведомления, служба создает таймер, который выполняется повторно, и создает уведомление на панели инструментов. Он также кэшировал содержимое, поэтому, когда Activity запрашивает обновление, оно обслуживается из кеша, а не из другого сетевого вызова.
Итак, мои вопросы
- Для сценария № 1, какова цена (если есть), которую я плачу за использование службы для сетевых вызовов вместо создания фонового потока непосредственно в действии?
- Для № 2 - мне лучше изменить реализацию на AlarmManager? Я заметил, что когда я убиваю процессы с помощью TasKiller, моя служба умирает и никогда не перезапускается, будет ли у задания на базе AlarmManager больше шансов на восстановление?