startService()是创建新的Service实例还是使用现有的实例?

use*_*239 30 android

startService()是创建新的Service实例还是使用现有的实例?例如,在以下代码中,它是创建两个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);
    }
Run Code Online (Sandbox Code Playgroud)

Com*_*are 52

如果服务已启动,则它不会作为第二个副本启动,但onStart()仍会在现有实例上调用.服务是自然的单身人士 - 服务中正好有0或1份服务.


Rog*_*ien 14

onStart方法暂时不推荐使用,请onStartCommand改用.