whys का जवाब देने के लिए, मेमोरी उपयोग प्रोफाइलिंग विशेष रूप से आईओएस ऐप्स के लिए महत्वपूर्ण है क्योंकि आईफोन और आईपैड मैक की तुलना में बहुत कम रैम है। आईफोन 4 में 512 एमबी रैम है, लेकिन पहले के संस्करणों में 256 या 128 एमबी थी। रैम में फैक्टर ओएस का उपयोग करता है और मल्टीटास्किंग करता है, और आपके ऐप में बर्बाद करने के लिए बहुत अधिक रैम नहीं है, इसलिए यह जानना महत्वपूर्ण है कि आपका ऐप कितना मेमोरी उपयोग करता है।
प्रोफाइलिंग प्रदर्शन कुछ ऐसा होता है जो आप आमतौर पर करते हैं जब आपका ऐप धीरे-धीरे चल रहा है। अपने कोड में धीमे धब्बे ढूंढने के लिए प्रोफाइल करें ताकि आप कोड को तेज़ी से चला सकें। यदि आपका ऐप ठीक चलता है, तो आपको प्रदर्शन के लिए प्रोफाइल करने की आवश्यकता नहीं है।
कैसे जवाब देने के लिए, स्मृति उपयोग को मापने के लिए आवंटन उपकरण का उपयोग करें। ऑल ऑलोकेशन श्रेणी में लाइव बाइट्स कॉलम आपको बताता है कि आपका ऐप वर्तमान में किस मेमोरी का उपयोग कर रहा है। आवंटन उपकरण के हेपशॉट विश्लेषण आपके ऐप में स्मृति वृद्धि को मापता है। हीपशॉट विश्लेषण करने के लिए कूद पट्टी के बाईं तरफ मेनू का प्रयोग करें।
टाइम प्रोफाइलर उपकरण प्रदर्शन के लिए आपके ऐप को प्रोफाइल करता है। टाइम प्रोफाइलर उपकरण का उपयोग करने का कठिन हिस्सा परिणाम की व्याख्या कर रहा है। टाइम प्रोफाइलर उपकरण आपको यह बताने वाला नहीं है कि आपका ऐप फंक्शन एक्स में 75% समय व्यतीत करता है। आपको अपने कोड में धीमी धब्बे खोजने के लिए डेटा को खोदना होगा।
स्वीकार्य स्मृति उपयोग के संबंध में, यह उन डिवाइसों पर निर्भर करता है जिन्हें आप समर्थन देना चाहते हैं और ऐप। 100 एमबी रैम का उपयोग कर एक्सकोड की तरह एक ऐप ठीक होगा, लेकिन एक पेज दस्तावेज़ के लिए 100 एमबी का उपयोग कर टेक्स्ट एडिट जैसे ऐप एक समस्या होगी। आईओएस ऐप के लिए 5 एमबी समस्या नहीं होनी चाहिए।
स्रोत
2011-07-11 18:48:58
इतना व्यापक उत्तर देने के लिए धन्यवाद! :) – ma11hew28
मुझे आवंटन उपकरण गुमराह करने के लिए मिला है जब यह आता है कि मेरा ऐप वास्तव में कितनी मेमोरी का उपयोग कर रहा है। यह वास्तविक ज्ञापन उपयोग से बहुत नीचे संख्या देता है। मेमोरी मैनेजर उपकरण आपको वास्तविक मेमोरी कॉलम में आपके ऐप का उपयोग करने वाली वास्तविक मात्रा की स्मृति देगा। मैं एक ओपनजीएल गेम विकसित कर रहा था और कम स्मृति चेतावनी को बाएं और दाएं मिल रहा था। आवंटन ने कहा कि मैं केवल 12 एम रैम का उपयोग कर रहा था, मेमोरी मैनेजर ने कहा कि मैं 100 एम का उपयोग कर रहा था। तो यह तूम गए वहाँ। – Ian
@Ian देखें http://stackoverflow.com/a/8797272/287403 ऐसा प्रतीत होता है कि लाइव बाइट्स अधिक सटीक हैं, क्योंकि स्मृति उपकरण में 'वास्तविक स्मृति' कॉलम आपके द्वारा बहुत पहले रिलीज़ किए गए ब्लॉक दिखाता है और ओएस हैन पुनः दावा नहीं किया गया। यह भी देखें कि http://stackoverflow.com/a/7574959/287403 जिसमें मेरा मानना है कि समग्र बाइट्स को 'असली स्मृति' के करीब लाइन करना चाहिए –