2011-06-01 11 views
7

मेरे पास सिंगलटन क्लास है जिसका उपयोग मैं अपने आवेदन की गतिविधियों में से एक के साथ करता हूं।सिंगलटन वर्ग गतिविधि निकास क्यों बचता है?

जब मैं गतिविधि से बाहर निकलता हूं - जो मुझे मेनू गतिविधि में वापस लाता है - और तब गतिविधि को दोबारा खोलें जो मुझे लगता है कि जब मैं सिंगलटन तक पहुंचने का प्रयास करता हूं तो यह वही होता है। निश्चित रूप से यह गतिविधि के साथ नष्ट हो जाना चाहिए था?

मैंने यहां प्रश्न देखा: living singleton, when activity end लेकिन उनका क्या मतलब है उसका पालन नहीं कर सका।

जब मैं अपने डिवाइस पर रिटर्न बटन दबाता हूं (या गतिविधि के भीतर खत्म का उपयोग करता हूं) क्या गतिविधि भविष्य के उपयोग के लिए जीवित रखी जाती है? यदि ऐसा है, तो वह इसे समझाएगा।

उत्तर

12

निश्चित रूप से यह गतिविधि के साथ नष्ट हो जाना चाहिए था?

सं

जब मैं अपने डिवाइस पर वापसी बटन दबाएँ (या गतिविधि के भीतर ही खत्म उपयोग करें) है गतिविधि भविष्य में उपयोग के लिए जीवित रखा?

गतिविधि नहीं है। प्रक्रिया है। सिंगलेटन वर्चुअल मशीन का हिस्सा हैं और जब तक प्रक्रिया करता है तब तक जीते रहेंगे। आखिरी गतिविधि से बाहर निकलने से प्रक्रिया को तुरंत समाप्त नहीं किया जाता है, इसलिए सिंगलटन कम से कम थोड़ी देर तक रहता है।

एंड्रॉइड अंततः अन्य ऐप्स के लिए स्मृति को मुक्त करने के लिए उस प्रक्रिया को समाप्त कर देगा। यह कितनी तेज़ी से करेगा कि उपयोगकर्ता क्या कर रहा है, कौन से ऐप्स इंस्टॉल किए गए हैं, चंद्रमा का चरण इत्यादि।

+0

क्या इसका मतलब यह होगा कि यदि मैंने अपने आवेदन के भीतर 2 अलग-अलग गतिविधियों से एक ही सिंगलटन कक्षा में कॉल किया तो वे वही मिलेंगे? मुझे लगता है कि यह गतिविधि स्तर पर था। – theblitz

+0

सिंगलटन अवधारणा परिभाषित करती है कि उस समय केवल उस वर्ग का एक ही ऑब्जेक्ट उदाहरण होना चाहिए, इसलिए हां वे वही प्राप्त करेंगे जब तक कि किसी भी तरह से अलग-अलग वर्चुअल मशीनों में गतिविधियां शुरू नहीं हुईं, क्योंकि सिस्टम को पहले व्यक्ति को समाप्त करना । –

+0

तो सबसे अच्छा विचार गतिविधि से बाहर निकलने पर सिंगलटन को "मैन्युअल रूप से" नष्ट करना होगा। – theblitz

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