2009-01-19 13 views
5

क्या कोई यहां सही दिशा में इंगित कर सकता है। जब मैं अपने आवेदन को स्मृति चेतावनी प्राप्त करता हूं, तो मैं जवाब देना चाहता हूं, (मैं जानना चाहता हूं कि इस अधिसूचना का जवाब कैसे देना है)। इसके अलावा, मैं अपने आवेदन के साथ कितनी मेमोरी तार कर सकता हूँ?आईफोन विकास - आईफोन एप्लिकेशन के लिए मेमोरी सीमा

कोई भी लेख या पुस्तक संदर्भ बहुत अच्छा होगा। धन्यवाद।

उत्तर

7

यदि आपके ऐप को मेमोरी चेतावनी मिलती है (जैसे आपके व्यू कंट्रोलर की didReceiveMemoryWarning विधि) तो आपको किसी भी गैर-महत्वपूर्ण डेटा को रिलीज़ करने की आवश्यकता है। कुछ भी जिसे आप कैश किए गए उपयोग कर रहे हैं, उदाहरण के लिए, या जिसे पुन: उत्पन्न किया जा सकता है, को डंप किया जाना चाहिए।

उदाहरण के लिए, यदि आपका ऐप कुछ संख्याओं को क्रंच करता है और परिणाम को एक बड़ी सरणी में संग्रहीत करता है, यदि आप सक्रिय रूप से उस सरणी का उपयोग नहीं कर रहे हैं, तो आपको इसे छोड़ना चाहिए। फिर, इसे फिर से जरूरी होने पर पुन: उत्पन्न करें।

एक छोटी सी में अधिक जानकारी यहाँ है: Observing Low-Memory Warnings

+0

लिंक स्थानांतरित हो गया ... https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AplicationEnvironment/chapter_3_section_5.html – estobbart

4

मैंने अनौपचारिक रूप से सुना है कि जब आपका एप्लिकेशन लगभग 22 एमबी हिट करता है तो चेतावनियां जारी की जाती हैं। (किसी भी आवंटित मेमोरी को शामिल किया गया है - आईफोन भौतिक रैम में सबकुछ रखता है और किसी भी अन्य स्टोरेज पर पेज नहीं देता है।) यह देखते हुए कि फोन में केवल 128 एमबी कुल रैम है, यह प्रतीत होता है।

उस सीमा में ऑब्जेक्टिव-सी रनटाइम जैसे साझा सिस्टम लाइब्रेरीज़ द्वारा उपयोग की जाने वाली मेमोरी शामिल नहीं है। और जब मुझे इस पर पूरी तरह से यकीन नहीं है, मुझे नहीं लगता कि वेबकिट का मेमोरी उपयोग UIWebView घटक के लिए शामिल है, क्योंकि मेरा मानना ​​है कि वेबकिट हमेशा लोड होता है (लेकिन फिर, उस पर 100% निश्चित नहीं है)।

जब आप इस सीमा को दबाते हैं तो सबसे अच्छी बात यह है कि आप इनपुट फ़ाइलों, जैसे विचार, छवियों और कैश किए गए डेटा से आसानी से पुन: उत्पन्न या पुन: पढ़ सकते हैं।

+0

हाँ है कि मेरे अनुभव के आधार पर अधिकार के बारे में लगता है। यद्यपि सफारी के बारे में कोई सुराग नहीं है। – schwa

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