मेरे पास एक ग्राफिक-गहन आईपैड ऐप है जिसमें UIWebView है। सिम्युलेटर (आईओएस 4.2.1) का उपयोग करके, मैं ब्राउज़ कर सकता हूं क्योंकि रियल मेम काफी बढ़ता है। जितना अधिक मैं ब्राउज़ करता हूं, उतनी ही रैम इसका उपयोग करता है। जब मैं UIWebView को बंद करता हूं और इसे छोड़ देता हूं, कुछ स्मृति का उपयोग किया जाता है, लेकिन यह सब कुछ नहीं है। यह कष्टप्रद है। ठीक है, तो शायद ऐसा इसलिए है क्योंकि इसे तुरंत हटाया नहीं गया है। ठीक। लेकिन फिर जब मैं स्मृति चेतावनी देता हूं तो सिस्टम कुछ सफाई करने की अपेक्षा करता है। हालांकि, अगर मैं चारों ओर ब्राउज़ करता हूं, तो UIWebView को बंद करें (और इसे छोड़ दें), फिर सिम्युलेटर में मेमोरी चेतावनी ट्रिगर करें, रीयल मेम नहीं बदलेगा! WTF?UIWebView इसकी सभी मेमोरी क्यों जारी नहीं करता है?
तो यह क्यों है? सिस्टम को वापस स्मृति जारी करने पर UIWebView बेहतर क्यों नहीं है? और यह स्मृति चेतावनियों का जवाब क्यों नहीं देता है? क्या मैं कुछ भूल रहा हूँ? के बाद से यह मदद की है करने के लिए लग रहा था
गतिविधि मॉनीटर डीबगिंग उद्देश्यों के लिए बेकार है। आवंटन उपकरण का प्रयोग करें। ध्यान दें कि सिम्युलेटर डिवाइस पर किसी ऐप की तुलना में काफी भिन्न व्यवहार कर सकता है। – bbum
हू, दिलचस्प। आवंटन के साथ बजाना (अजीब बात यह है कि मैंने इसे पहले कभी नहीं देखा, अतीत में लीक को ठीक करने पर ध्यान केंद्रित किया), मैं कुछ ही मिनटों के उपयोग के साथ 256 एमबी तक कुल मिलाकर बाइट्स प्राप्त करने में सक्षम हूं। लाइव बाइट्स 4-7 एमबी है, यद्यपि। कुल मिलाकर बाइट संचयी है? मुझे एक त्वरित ट्यूटोरियल खोजने की जरूरत है ... – theory
ओह, इसे टीएफएम में मिला: "कुल मिलाकर: ऑब्जेक्ट्स की कुल संख्या या इस प्रकार के मेमोरी ब्लॉक आवंटित किए गए हैं, जिनमें रिलीज़ किए गए हैं।" बहुत बढ़िया! मेरा ऐप बहुत मेमोरी का उपयोग नहीं करता है! – theory