5

के मेमोरी उपयोग का आकलन करना मैं एआरसी सक्षम के साथ कोकोस 2 डी 2.0 का उपयोग कर रहा हूं। मेरा गेम एक यादृच्छिक जेनरेट गेम है इसलिए मुझे गेम के बीच में एक दृश्य के भीतर बनावट को लोड/अनलोड करना (स्प्राइटशीट-बैचनोड) होना चाहिए। मैं remitespriteframesfromfile को हटाने की कोशिश कर रहा हूं और स्प्राइटशीट के लिए कुंजी के लिए बनावट को हटा रहा हूं जिसे मैं बीच में अनलोड करना चाहता हूं। जब मैं शीट को उतारने के बाद dumpcachedtextureInfo का उपयोग करता हूं, तो spritesheet बनावट dumpcachedtextureinfo के लॉग में दिखाई नहीं देती है।कोकोस 2 डी गेम

लेकिन जब मैं अपने ऐप को प्रोफाइल करने के लिए इंस्ट्रूमेंट्स/गतिविधि मॉनीटर का उपयोग करता हूं, तो वास्तविक स्मृति उपयोग बनावट और स्प्राइटशीट को उतारने के बाद ड्रॉप नहीं होता है।

क्या ऐसा कोई तरीका है जहां dumpcachedtextureinfo एक बनावट नहीं दिखाएगा जो अभी भी स्मृति में है? इसके अलावा, आवंटन में मेरा लाइवबाइट कॉलम 4 एमबी दिखाता है।

जैसा कि मैंने विभिन्न स्थानों पर पढ़ा है कि आवंटन बनावट स्मृति नहीं दिखाता है।

तो मेरी आवंटन रहते बाइट्स कॉलम बताता है 4 एमबी, dumpcchedtextureinfo के लॉग के साथ दिखाया गया के रूप में अपने कुल बनावट स्मृति 84MB होना दिखाया गया है, लेकिन स्मृति पर नजर रखने के चित्र वास्तविक स्मृति उपयोग से पता चलता 84 + Spritesheet आकार + लाइव बाइट्स होने की

मैं इस अंतर को समझने में सक्षम नहीं हूं?

मैं दृश्य से बाहर नहीं जा रहा हूं, इसलिए मुझे यकीन नहीं है कि क्या एआरसी मेमोरी पकड़ रहा है या क्या?

+0

के बाद से आप पहले से ही उपकरण का उपयोग कर रहे हैं, अगर बड़ा के किसी भी जाँच स्मृति के टुकड़े अभी भी "जीवित" हैं और शायद लीक हो गए हैं। इसके अलावा, शायद आप कुल आवंटन कॉलम को देख रहे थे जो कभी कम नहीं होगा। – LearnCocos2D

+0

मैं गतिविधि मॉनिटर के तहत "असली मेमोरी उपयोग" मीट्रिक के बारे में चिंतित हूं। यह अनलोड के बाद भी कम नहीं होता है। मैं समझ नहीं पा रहा हूं कि वह क्यों है? – user1847220

उत्तर

4

कुछ उपयोगी नोट्स के लिए आप

  • This Cocos2d memory optimisation Cocos2d में स्मृति प्रबंधन के बारे में बहुत अच्छी तरह से बताते हैं।

  • कुल मेमोरी आवंटन उपयोग की जांच करने के लिए: उपकरण-> गतिविधि मॉनिटर।

enter image description here

enter image description here

  • जांच करने के लिए मेमोरी लीक का उपयोग करें: Instrument-> लीक enter image description here
+0

मैं पहले से ही उस लिंक से गुजर चुका हूं और हाँ यह बहुत उपयोगी है। मेरी समस्या स्मृति स्मृति अनुकूल नहीं है। मेरी समस्या समय के उदाहरण पर मेरे ऐप द्वारा उपयोग की जाने वाली सटीक स्मृति को जान रही है। – user1847220

+0

उपकरण में आप देख सकते हैं ... आशा है कि आप जानते हैं: - – Guru

+1

भी: आवंटन, ऑब्जेक्ट सूची का चयन करें। कक्षा के नाम के लिए खोजें (यानी सीसीटीटेक्चर 2 डी)। यदि इसके बगल में कोई बिंदु है, तो यह अभी भी जीवित है (स्मृति में)। देखें कि क्या कैश से टेक्स्ट को हटाते समय यह बदलता है या नहीं। – LearnCocos2D

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