В рамках приложения активность и обслуживание будут выполняться в одном и том же процессе?

Вопрос с интервью. С помощью приложения, будут ли действия и службы выполняться в одном и том же процессе или в разных процессах? Мой ответ был ::: В том же процессе.

Следующий вопрос ::: Если да, то как работает активность и обслуживание одновременно? Мой ответ был ::: Операционная система позаботится об исполнении. (Честно говоря, я не знал ответа).

Может ли кто-нибудь дать объяснение вышеуказанным вопросам? Если мой ответ был неправильным, то какой правильный ответ?

Невозможно запустить Activity и службу, которые работают в одном и том же процессе (который является поведением по умолчанию) одновременно.

Метод onCreate () службы работает в основном потоке (UI).

Метод onCreate () Activity также работает в основном потоке (UI).

Единственный способ начать как более-менее-то же самое время – запустить службу в отдельном процессе.

Вы можете попробовать запустить несколько потоков и использовать семафор с флагом barier.

Если сервис и активность принадлежат вашему приложению, выполните следующие действия:

Тот же процесс, если не определен иначе. Вы можете создать сервис, который будет запускаться в отдельном процессе.

Служба и активность разделяют одну и ту же тему. Поэтому они не могут работать одновременно. Но вы можете создавать новые потоки для обработки команд в Service. Или используйте IntentService, который обрабатывает все команды в собственном потоке. Некоторые методы обслуживания всегда выполняются в потоке пользовательского интерфейса (например, onCreate). Затем активность и обслуживание могут выполняться параллельно (если у вас есть 2 и более ядра =).

Они могут работать как в одном, так и в разных процессах в зависимости от настройки. И да, ОС отвечает за выполнение этих двух. Проверьте это для подробного объяснения: http://developer.android.com/guide/topics/manifest/service-element.html#proc