2012-02-22 15 views
5

पर कम आवंटन मेरे पास कोड है जिसमें सक्रिय आवंटन की कम मात्रा है (लगभग 5 एमबी इंस्ट्रूमेंट्स के अनुसार), लेकिन सिस्टम मेमोरी उपयोग (100 एमबी से अधिक) की एक बड़ी मात्रा है। मुझे पता है कि कोड रिसाव मुक्त है, और मुझे कुछ अनुकूलन के बाद कोई आवंटन स्पाइक नहीं दिख रहा है, लेकिन मैं अभी भी स्मृति उपयोग की उच्च मात्रा के कारण दुर्घटनाग्रस्त हूं।उच्च वर्चुअल मेमोरी उपयोग + आईओएस

मैं बहुत से गुगल हो गया और देखता हूं कि मुझे वीएम ट्रैकर उपकरण का उपयोग करना है, जो मेरी उच्च स्मृति उपयोग की पुष्टि करता है, लेकिन मुझे यकीन नहीं है कि इस स्थिति को कैसे हल किया जाए। मैं जितना संभव हो उतना छोटी मेमोरी का उपयोग कर रहा हूं, यह अभी भी एक आईपैड 1 पर बहुत अधिक है, और मेरे पास यह जानने के लिए ज्ञान या उपकरण नहीं हैं कि ओएस को इतनी मेमोरी को गंदे के रूप में चिह्नित न करें कि जब मैं नहीं हूं वास्तव में इसका उपयोग कर रहे हैं। मैं यहाँ से कहाँ जाऊँ?

उत्तर

0

प्रोफ़ाइल उपकरण का उपयोग करें और स्मृति + आवंटन का चयन करें। वीएम ट्रैकर पर क्लिक करें और स्नैपशॉट लें। इसके परिणामस्वरूप ऑब्जेक्ट प्रकार के निवासी गंदे और वर्चुअल मेमोरी उपयोग के साथ एक सूची में परिणाम होता है। इससे आपको संकेत मिलेगा कि कहां देखना है।

मुझे लगता है कि सबसे आम समस्या यह है कि आपके पास ऑटोरेलीज़पूल में रहने वाली बहुत सारी ऑटोरेलेज्ड ऑब्जेक्ट्स हैं। निम्न लिंक ऑटोरेलीजपूल को संभालने के तरीके के बारे में और बताता है: How does the NSAutoreleasePool autorelease pool work?

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