StartService () создает новый экземпляр службы или использует существующий? - PullRequest
30 голосов
/ 25 марта 2010

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);
    }

Ответы [ 2 ]

51 голосов
/ 25 марта 2010

Если служба уже запущена, она не запускается как вторая копия, но onStart() все еще вызывается в существующем экземпляре. Сервисы являются естественными единичными - в эксплуатации находится ровно 0 или 1 копия сервиса.

14 голосов
/ 16 февраля 2011

На данный момент метод onStart устарел, вместо него используйте onStartCommand.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...