2010-03-25 121 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來代替。

相關問題