2014-10-27 8 views
4

После this question у меня есть сомнения.IntentService параллельное выполнение

Скажем, в моем applicaiton я определил 2 намерений службы, которые автоматически запускаются после загрузки, т.е.

<application> 
    <receiver android:name=".InterntService1" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 

      <category android:name="android.intent.category.HOME" /> 
     </intent-filter> 
    </receiver> 
    <receiver android:name=".InterntService2" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 

      <category android:name="android.intent.category.HOME" /> 
     </intent-filter> 
    </receiver> 
</application> 

Теперь, это означает, что IntentSerive2 будет выполняться только после того, как IntentSerivce1 была закончена?

Или оба сервиса1 & 2 могут выполняться параллельно?

ответ

2

В манифесте, который вы опубликовали, содержатся записи для 2 BroadcastReceiver s, а не 2 Service s. При загрузке Android вызовет метод onReceive() каждого из этих BroadcastReceiver s. Поскольку метод onReceive() работает в основном потоке, невозможно, чтобы оба они вызывались параллельно, поэтому один будет вызываться, а затем будет вызван другой. Порядок вызовов onReceive() не определен (насколько я знаю).

Смежные вопросы