2010-12-29 16 views
7

मेरे पास एक ग्राफिक-गहन आईपैड ऐप है जिसमें UIWebView है। सिम्युलेटर (आईओएस 4.2.1) का उपयोग करके, मैं ब्राउज़ कर सकता हूं क्योंकि रियल मेम काफी बढ़ता है। जितना अधिक मैं ब्राउज़ करता हूं, उतनी ही रैम इसका उपयोग करता है। जब मैं UIWebView को बंद करता हूं और इसे छोड़ देता हूं, कुछ स्मृति का उपयोग किया जाता है, लेकिन यह सब कुछ नहीं है। यह कष्टप्रद है। ठीक है, तो शायद ऐसा इसलिए है क्योंकि इसे तुरंत हटाया नहीं गया है। ठीक। लेकिन फिर जब मैं स्मृति चेतावनी देता हूं तो सिस्टम कुछ सफाई करने की अपेक्षा करता है। हालांकि, अगर मैं चारों ओर ब्राउज़ करता हूं, तो UIWebView को बंद करें (और इसे छोड़ दें), फिर सिम्युलेटर में मेमोरी चेतावनी ट्रिगर करें, रीयल मेम नहीं बदलेगा! WTF?UIWebView इसकी सभी मेमोरी क्यों जारी नहीं करता है?

तो यह क्यों है? सिस्टम को वापस स्मृति जारी करने पर UIWebView बेहतर क्यों नहीं है? और यह स्मृति चेतावनियों का जवाब क्यों नहीं देता है? क्या मैं कुछ भूल रहा हूँ? के बाद से यह मदद की है करने के लिए लग रहा था

+2

गतिविधि मॉनीटर डीबगिंग उद्देश्यों के लिए बेकार है। आवंटन उपकरण का प्रयोग करें। ध्यान दें कि सिम्युलेटर डिवाइस पर किसी ऐप की तुलना में काफी भिन्न व्यवहार कर सकता है। – bbum

+0

हू, दिलचस्प। आवंटन के साथ बजाना (अजीब बात यह है कि मैंने इसे पहले कभी नहीं देखा, अतीत में लीक को ठीक करने पर ध्यान केंद्रित किया), मैं कुछ ही मिनटों के उपयोग के साथ 256 एमबी तक कुल मिलाकर बाइट्स प्राप्त करने में सक्षम हूं। लाइव बाइट्स 4-7 एमबी है, यद्यपि। कुल मिलाकर बाइट संचयी है? मुझे एक त्वरित ट्यूटोरियल खोजने की जरूरत है ... – theory

+0

ओह, इसे टीएफएम में मिला: "कुल मिलाकर: ऑब्जेक्ट्स की कुल संख्या या इस प्रकार के मेमोरी ब्लॉक आवंटित किए गए हैं, जिनमें रिलीज़ किए गए हैं।" बहुत बढ़िया! मेरा ऐप बहुत मेमोरी का उपयोग नहीं करता है! – theory

उत्तर

6

एक जवाब के रूप जोड़ना:

गतिविधि मॉनिटर डीबगिंग उद्देश्यों के लिए बेकार है। आवंटन उपकरण का उपयोग करें। ध्यान दें कि सिम्युलेटर डिवाइस पर किसी ऐप की तुलना में काफी अलग व्यवहार कर सकता है।

मदद करने में खुशी हुई। मुझे अक्सर लगता है कि "केवल लाइव आवंटन ट्रैक करें" चालू करना मेरे अनुप्रयोगों के चल रहे कामकाजी सेट को देखने में काफी मददगार है। लाइव/मृत ट्रैकिंग भी उपयोगी है।

ओह, और heapshot analysis (article on my weblog) मेमोरी लीक को ट्रैक करने में बेहद प्रभावी हो सकता है।

लीक्स? इसका कभी भी इस्तेमाल न करें। हीपशॉट विश्लेषण पूरी तरह से मेरे लिए इसे बदल देता है। आपकी माइलेज भिन्न हो सकती है।

+0

धन्यवाद bbum, इसे जांच लेंगे! – theory

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