5

didReceiveMemoryWarning/viewDidUnload के बारे में एक प्रश्न।किया गया है ReceiveMemory चेतावनी/viewDidUnload जब एक दृश्य नियंत्रक दिखाया जाता है?

मेरे ऐप कई दृश्य नियंत्रकों, उनमें से एक में दिखाया गया है, और दूसरों को वापस नहीं हैं (क्योंकि मैं एक नेविगेशन नियंत्रक या टैब बार नियंत्रक का उपयोग, यह कोई बात नहीं) है, जो देखने नियंत्रकों प्राप्त होगा didReceiveMemoryWarning/viewDidUnload, उनमें से सभी, केवल छुपा, या केवल दिखाया?

क्या यह संभव है कि वीसी को didReceiveMemoryWarning प्राप्त हो लेकिन viewDidUnload (जैसा कि दिखाया गया है, यह कोई समझ नहीं आता है)। UIViewController init/dealloc flow chart

धन्यवाद मदद के लिए एक बहुत:

वैसे, मैं इस चित्र को देखने के बाद इन प्रश्न हैं। जब आवेदन प्रणाली से एक स्मृति चेतावनी प्राप्त करता

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 

कहा जाता है:

+0

आपके आरेख से यह चलता है कि viewDidUnload केवल तभी कॉल किया जाता है जब RereiveMemoryWarning को कॉल किया जाता है ??? हम्म यह सच नहीं है – Stas

+0

यही मेरा प्रश्न है। क्या आप एक बेहतर आरेख जानते हैं? धन्यवाद। – Ricardo

+1

ऐसा लगता है कि इसका उत्तर है: http://www.nextconceptdc.com/blog/wp-content/uploads/2011/08/UIViewControllerLifecycle.png – Ricardo

उत्तर

1

सबसे पहले, वहाँ दो तरीकों didReceiveMemwarnings हैं। और UIViewController के

- (void)didReceiveMemoryWarning 

जब आवेदन एक स्मृति चेतावनी प्राप्त करता है दृश्य नियंत्रक पर भेजा गया।

दूसरा, सबसे पहले इन विधियों में कोड कहा जाता है (ठीक है, ज़ाहिर है), फिर उन नियंत्रकों में जिनके पास पर्यवेक्षकों नहीं हैं (यानी जो लोग इस समय प्रदर्शित नहीं होते हैं) दृश्य हटा दिया जाता है और देखेंDidUnload भेजा जाता है

0

जब कोई स्मृति चेतावनी प्राप्त होती है, तो यह एप्लिकेशन स्तर पर प्राप्त होती है, आपके सभी दृश्य नियंत्रक और एपडिलेगेट इसे प्राप्त करते हैं।

यह आवश्यक नहीं है कि viewDidUnload किसी भी या सभी नियंत्रकों के लिए बुलाया जाता है। यह सख्ती से निर्भर है कि ओएस कितना महत्वपूर्ण सोचता है कि स्मृति चेतावनी है। पहली बार की तरह - आपके ऐप को Level 1 चेतावनी प्राप्त होती है तो Level 2 और तीसरी बार (कम अंतराल में) अधिकतर संभावना ओएस इस एप्लिकेशन को समाप्त कर देगा कि यह अस्थिर स्थिति में चला गया है।

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

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