Ответ 1
Если служба уже запущена, она не запускается как вторая копия, но onStart()
по-прежнему вызывается в существующем экземпляре. Услуги - это естественные синглтоны - есть только 0 или 1 копия службы в действии.
Создает ли startService() новый экземпляр службы или использует существующий? Например, в следующем коде создается ли два экземпляра UpdateService или один экземпляр UpdateService? Спасибо.
int[] appWidgetIds = new int[] {1, 2};
for (int appWidgetId : appWidgetIds) {
Intent intent = new Intent(context, UpdateService.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
context.startService(intent);
}
Если служба уже запущена, она не запускается как вторая копия, но onStart()
по-прежнему вызывается в существующем экземпляре. Услуги - это естественные синглтоны - есть только 0 или 1 копия службы в действии.
Теперь метод onStart
устарел, вместо этого используйте onStartCommand
.