द्वारा साफ़ नहीं किया गया है, मैं एक ऐसा एप्लीकेशन बना रहा हूं जो एक प्रकार की गैलरी है - यह एक पूर्णस्क्रीन दर्शक के रूप में विभिन्न मीडिया सामग्री दिखाता है। आवंटन उपकरण से पता चलता है कि एप्लिकेशन का उपयोग करते समय लाइव बाइट पैरामीटर 40 एमबी से अधिक नहीं बढ़ता है। इस बीच 20-30 बार पृष्ठों को स्लाइड करने के बाद ऐप 100% मारे जा रहा है। मैंने गंदा मेमोरी पैरामीटर की जांच की और पाया कि यह लाइव बाइट्स आकार से 10 गुना बड़ा था। और के उस गंदे स्मृति भस्म छवि आईओ सबसे:इमेजियो गंदे स्मृति को स्वचालित रूप से आईओएस
Screenshot http://i40.tinypic.com/25ge51i.jpg
संपादित करें, एक और स्क्रीनशॉट:
Screenshot http://i40.tinypic.com/9t1mh5.png
आवंटन चोटियों के ऊपर वीडियो/छवि मीडिया सामग्री करने जा रहे हैं। समस्या यह है कि गंदे स्मृति लगभग रैखिक रूप से बढ़ती है और मुझे इसे किसी भी तरह से रिलीज़ करने की आवश्यकता है।
अब एप्लिकेशन डिज़ाइन के बारे में। एप्लिकेशन स्क्रीन में एक क्षैतिज स्क्रॉल दृश्य है। स्क्रॉल व्यू में वीडियो या कोलाज ऑब्जेक्ट्स होते हैं जिनमें एकाधिक छवियां होती हैं। स्मृति को सहेजने के लिए केवल एक ही समय में तीन पृष्ठ बनाए जाते हैं - वर्तमान पृष्ठ और बाएं/दाएं पृष्ठ। इसलिए पृष्ठों को हमेशा स्क्रॉल दृश्य स्लाइड करते समय ऑन-फ्लाई बनाया और हटा दिया जाता है।
[UIImage imageWithContentOfFile: path]
विधि का उपयोग करके लोड की गई सभी छवियां। कोलाज ऑब्जेक्ट स्टोर छवियों के अंदर UIImage उदाहरणों को स्टोर करता है। Dealloc विधि छवियों में ऐरे विशेषता साफ़ कर दिया गया है।
तो, सवाल:
- यह
[UIImage imageWithContentOfFile?]
- में प्रणाली बग का एक प्रकार है यह छवि आईओ कैश है?
- क्या मैं इसे साफ़ कर सकता हूं?
यह आईओएस में एक बग नहीं है - अगर यह हज़ारों एप्लिकेशन काम नहीं कर रहा होता था। किसी भी तरह आपकी छवियां जारी नहीं हो रही हैं। –
स्पष्ट रूप से मेरे प्रोग्राम में समस्या, लेकिन जैसा कि आप स्क्रीनशॉट में देख सकते हैं, उपयोगकर्ता मेमोरी सही ढंग से साफ़ हो जाती है (पहला चार्ट सीमित खपत दिखाता है)। दूसरी ओर, हम विशाल गंदे स्मृति वृद्धि देखते हैं। और मैं वास्तव में समझ में नहीं आता कि किस प्रकार की समस्या हो सकती है। वैसे, मैंने dealloc विधि लॉग इन किया और मैंने देखा कि इसे बुलाया गया था। – ZAN
तो Image_IO के लिए प्रकटीकरण त्रिकोण क्या दिखाता है? यही है, सूची का पर्दाफाश करें और अपना प्रश्न अपडेट करें। –