कुछ दिन पहले मुझे पता चला है कि सिंगलटन एंड्रॉइड में एंटी-पैटर्न बन सकता है। मेरा सिंगलटन (निजी कन्स्ट्रक्टर और स्थिर क्षेत्र में संग्रहीत उदाहरण) को हटा दिया गया था (उदाहरण के बावजूद अन्य गतिविधियों को इस सिंगलटन (getInstance() विधि के माध्यम से) का उपयोग करने के बावजूद हटा दिया गया था, इसलिए एक और उदाहरण बनाया जाना था) क्योंकि गतिविधि से पहली बार बुलाया गया था (केवल एक ही गतिविधि के लिए खत्म करने के बाद)।एंड्रॉइड पर एनम आधारित सिंगलटन का जीवन चक्र
मैंने पहले ही पढ़ा है कि इस समस्या को कैसे हल किया जा सकता है, हालांकि मैंने अभी भी "प्रभावी जावा" पढ़ा है। ऐसा कहा जाता है कि "सिंगल-एलिमेंट एनम टाइप एक सिंगलटन को लागू करने का सबसे अच्छा तरीका है"।
तो अब मैं सोच रहा हूं कि एंड्रॉइड एप्लिकेशन में सिंगलटन का जीवन चक्र किस तरह से बनाया जाएगा? क्या यह "मानक सिंगलटन कार्यान्वयन" के मामले में समान होगा जैसा कि गतिविधि को नष्ट करने के बाद से पहली बार इसे नष्ट कर दिया जाएगा (भले ही यह अन्य गतिविधियों में भी उपयोग किया जाता है)?
मैं उचित एंड्रॉइड सिंगलटन इम्प्लेमेनेशन या सिंगलटन पैटर्न के बारे में नहीं पूछ रहा हूं (क्या यह पैटर्न या विरोधी पैटर्न आदि है) लेकिन मैं जानना चाहता हूं कि इस तरह के एनम सिंगलटन ऑब्जेक्ट का जीवन चक्र क्या होगा और जब यह होगा नष्ट किया हुआ।
सिंगलटन सामान्य रूप से एक विरोधी पैटर्न है। अगर आपको वास्तव में कुछ की आवश्यकता है, तो बस एक और मत बनो।: पी – cHao
इसे कुछ स्पष्टीकरण की आवश्यकता हो सकती है: आपका सिंगलटन (यानी कोड अपने enum में डाल दिया) और जब आपकी गतिविधि से बाहर निकला (और आपका आवेदन बंद कर दिया गया था) एंड्रॉइड से संदर्भित गायब हो गया? यह किसी भी सिंगलटन के लिए अपेक्षित व्यवहार होगा - सभी राज्यों को आपको एप्लिकेशन पुनरारंभ के बीच बनाए रखने की आवश्यकता है स्थायी भंडारण में होना चाहिए - 'साझा संदर्भ' के रूप में। ओटीओएच, मैं पूरी तरह से इस सवाल को गलत समझा सकता था :- डी – Jens
@ जेन्स मैंने अपना प्रश्न अपडेट किया है। – mmatloka