जब एप्लिकेशन पृष्ठभूमि चलने वाले राज्य में प्रवेश करता है, तो कितनी गंदे स्मृति उपयोग जाने के लिए अच्छा होता है। सेब वीडियो में यह उल्लेख किया गया है कि गंदे स्मृति को जितना संभव हो उतना कम किया जाना चाहिए।आईओएस 4 - तेज़ संदर्भ स्विचिंग
लेकिन मेरे ऐप में, मैं पुश और पॉप दृश्यों के लिए नेविगेशन नियंत्रक का उपयोग कर रहा हूं। लगभग 20 अलग-अलग पृष्ठों से आगे बढ़ने के बाद, गंदा स्मृति उपयोग 30 एमबी या उससे भी अधिक तक पहुंच जाता है।
"dismissModalViewControllerAnimated" और "popViewControllerAnimated" पर भी, dealloc नहीं कहा जाता है।
मैं दो संदेह है
- गंदा कितनी स्मृति को प्रसारित करने के स्वीकार्य है के साथ?
- बैक बटन का समर्थन करने के लिए नेविगेशन नियंत्रक का वैकल्पिक क्या है?
अग्रिम धन्यवाद।
1. 30 एमबी नहीं। पुराने आईओएस उपकरणों में केवल 128 एमबी रैम है, इसलिए आपका ऐप अकेले ही 23% के लिए भर जाएगा ... 2. यदि आप वास्तव में 30 एमबी लीक कर रहे हैं, तो शायद आप कुछ जारी नहीं कर रहे हैं, कहीं, यह 'UINavigationController' नहीं है गलती –
हाय डूवे, उत्तर देने के लिए धन्यवाद। मुझे UINavigationController पर संदेह क्यों है क्योंकि, मैं इसमें दृश्य नियंत्रकों को धक्का देता हूं।और जब मैं नेविगेशन नियंत्रक से दृश्य contollers पॉप, जब dealloc विधि कहा जाता है जहां मैं परिभाषित आवृत्ति चर जारी कर रहा हूँ। और इन सभी आवृत्ति चर द्वारा स्मृति को उपयोग नहीं किया जा रहा है। क्या मैं कुछ गलत कर रहा हूं? क्या मुझे कहीं और इवेंट वैरिएबल साफ़ करना है और डेलोक में नहीं है? – Sunil
क्या आपके ऐप में कहीं और आपके दृश्य नियंत्रकों के पास कोई अन्य संदर्भ है? यदि आप उन्हें पॉप-अप कर रहे हैं, लेकिन अभी भी नियंत्रक को कहीं और संदर्भ है, तो उसे जीसीड नहीं मिलेगा – blueberryfields