2010-03-25 119 views
27

startService()是否创建一个新的Service实例或使用现有的实例? 例如,在下面的代码中,它是创建两个UpdateService实例还是只创建一个UpdateService实例? 谢谢。startService()是否创建一个新的Service实例或使用现有的实例?

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

回答

48

如果该服务已经启动,没有启动的第二个副本,但onStart()仍呼吁现有的实例。服务是自然的单身人士 - 服务正在运行的服务仅有0或1份。

+0

谢谢@CommonsWare我upvoted你的问题,每次我看到你的答案,它最容易理解,我发现有帮助和upvote你的答案:) – blackHawk 2017-08-25 09:02:32

14

onStart方法现在已弃用,请使用onStartCommand来代替。

相关问题