2010-05-17 6 views
5

क्या मुझे किसी भी तरह से साझा ऑब्जेक्ट (जिस पर सिंगलटन आधारित है) जारी करना चाहिए जब मेरा एप्लिकेशन समाप्त हो जाता है यदि कोई कचरा कलेक्टर (आईफोन पर्यावरण) उपयोग नहीं करता है?उद्देश्य-सी सिंगलटन मेमोरी डेलोकेशन

उत्तर

12

जब कोई एप्लिकेशन निकलता है, तो इसकी सभी मेमोरी रिलीज़ होती है। इसलिए यह वास्तव में कोई फर्क नहीं पड़ता कि आप वस्तुओं को बिल्कुल जारी करते हैं, जब तक आप दौड़ते समय बहुत अधिक स्मृति का उपयोग नहीं करते हैं।

जब रणनीति 4.0 में बदल जाती है, तब भी एक छोटी वस्तु का अधिक प्रभाव नहीं होगा; यह तब भी समाप्त हो जाएगा जब इसे समाप्त होने पर शेष एप्लिकेशन के साथ जारी किया जाएगा।

+2

मुझे यकीन है कि मैंने कहीं पढ़ा है कि जब एक आवेदन जानता है कि यह बंद करने के लिए जा रहा है, तो यह और भी deallocs कर परेशान नहीं करता हूँ। वैसे भी, सिंगल जारी करने के लिए अनावश्यक है जब तक कि आप कुछ बाहरी संसाधनों का निपटान करने के लिए डेलोक पर भरोसा नहीं कर रहे हैं। यदि ऐसा है, तो अपनी कक्षा को फिर से डिजाइन करें ताकि आप स्पष्ट रूप से बाहरी संसाधन का निपटान कर सकें। – JeremyP

+2

यदि एप्लिकेशन समाप्त होने पर आपको कुछ प्रकार की सफाई करने की आवश्यकता है, तो आपके पास सिंगलटन ऑब्जेक्ट 'UIAplplicationWillTerminateNotification' –

4

एक के रूप में एक तरफ, तो आप इस उपयोगी लग सकते:

http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

+1

' के लिए सुन सकता है, मैंने पहले से ही सिंगलटन को लागू करने के बारे में पढ़ा है। मुझे लगता है कि मेरा सवाल अधिक संकीर्ण है। आपका धन्यावाद। – kpower

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