2010-03-25 16 views
27

क्या प्रारंभ सेवा() एक नया सेवा उदाहरण बनाते हैं या मौजूदा का उपयोग करते हैं? उदाहरण के लिए, निम्न कोड में, क्या यह दो अद्यतन सेवा उदाहरण या केवल एक अद्यतन सेवा उदाहरण बनाता है? धन्यवाद।क्या प्रारंभ सेवा() एक नया सेवा उदाहरण बनाते हैं या मौजूदा का उपयोग करते हैं?

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

धन्यवाद @ कॉमन्सवेयर मैंने आपके प्रश्न को उजागर किया, हर बार जब मैं आपका जवाब देखता हूं, तो इसे समझना सबसे आसान होता है और मुझे आपकी मदद मिलती है और आपके जवाब को ऊपर उठाया जाता है :) – blackHawk

14

onStart विधि अब के लिए बहिष्कृत है, इसके बजाय onStartCommand का उपयोग करें।

संबंधित मुद्दे