Можете ли вы запустить IntentService в отдельном процессе?
- Можно ли запустить IntentService в отдельном процессе? Как? Если да, то обязательно ли к нему привязываться?
- Можно ли запустить IntentService в отдельном процессе и запустить его на переднем плане?
- В чем разница между
android:isolatedProcess
а такжеandroid:process
? Смотрите: http://developer.android.com/guide/topics/manifest/service-element.html
1 ответ
1) Можно ли начать
IntentService
на отдельный процесс? Как? Если да, то обязательно ли к нему привязываться?
Да, вы можете начать IntentService
в отдельном процессе. Просто добавь android:process=":whatever"
к записи манифеста для этой услуги.
Нет, вам не нужно привязываться к нему. Вы можете общаться с ним, отправив его с помощью startService()
2) Можно ли запустить IntentService в отдельном процессе и запустить его на переднем плане?
Да (см. Выше). Чтобы ваш сервис работал на переднем плане, он может вызвать startForeground()
всякий раз, когда он хочет это сделать. Сам сервис контролирует, работает ли он на переднем плане или в фоновом режиме.
3) В чем разница между
android:isolatedProcess
а такжеandroid:process
? Смотрите: http://developer.android.com/guide/topics/manifest/service-element.html
android:process
позволяет контролировать, в каком процессе выполняется каждый конкретный компонент (указав имя процесса). Вы можете сгруппировать компоненты вашего приложения для запуска в отдельных процессах (например, все компоненты пользовательского интерфейса в одном процессе и все службы в другом). Поведение по умолчанию - все компоненты приложения выполняются в одном и том же процессе.
android:isolatedProcess
это флаг (true / false), который вы можете установить, если хотите, чтобы определенный компонент службы запускался в отдельном процессе, изолированном от остальной части вашего приложения. Изолированный процесс не имеет каких-либо разрешений, предоставленных остальной части вашего приложения. Обычно разрешения предоставляются приложению, и все компоненты приложения имеют все разрешения, которые получает приложение. android:isolatedProcess
доступно только начиная с уровня API 16 (Jellybean). См. http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.html и Преимущество внедрения тега Isolatedprocess в Службы в JellyBean[Android]