Для сценария № 1, какова цена (если
любой) я плачу за использование сервиса для
сетевые вызовы вместо создания
фоновый поток прямо в
Активность
Я предполагаю, что, поскольку вы сказали, что это "служба IDL", это то, что я называю удаленной службой - вы используете AIDL для определения интерфейса, который используется через границы процесса.
В этом случае стоимость составляет несколько МБ ОЗУ для второго процесса, плюс немного процессорного времени для накладных расходов IPC. Сколько этот «бит процессорного времени» зависит от того, как часто он вызывается.
Для № 2 - мне лучше переодеться
реализация в AlarmManager?
Обычно да. В идеале сервисов в памяти должно быть как можно меньше.
Я заметил, что когда я убиваю процессы
с TasKiller мой сервис умирает и
никогда не будет перезапущен, будет
AlarmManager-base работа получше
шанс на выздоровление?
Нет, потому что приложения "убийцы задач" имеют тенденцию злоупотреблять API (по словам Дайан Хэкборн), который уничтожит все, включая запланированные тревоги. В настоящее время я не знаю надежной и эффективной защиты от «убийц задач».