मेरे पास वर्तमान में एक UIWebView है जो एक मोडल व्यू के भीतर प्रदर्शित होता है। यह मूल रूप से एक विस्तार दृश्य है जो उपयोगकर्ता को एक लिंक पर क्लिक करता है जब उपयोगकर्ता एक लिंक पर क्लिक करता है। जब दृश्य को खारिज कर दिया जाता है और फिर फिर से लाया जाता है (जब उपयोगकर्ता किसी अन्य लिंक पर क्लिक करता है), पहले से लोड की गई सामग्री अभी भी दिखाई दे रही है और नई सामग्री अंतिम सामग्री के "शीर्ष पर" लोड होती है। यह समझ में आता है क्योंकि UIWebView का उदाहरण सत्रों के बीच बनी रहती है और स्मृति की आवश्यकता होने पर ही रिलीज़ होती है।मोडल व्यू को बर्खास्त करने पर UIWebView सामग्री साफ़ करें (आईफोन ओएस 3.0)
हालांकि, जब मैं मोडल व्यू को खारिज कर देता हूं तो मैं UIWebView को पूरी तरह से साफ़ करना चाहता हूं ताकि 1) सामग्री साफ़ हो और 2) स्मृति मुक्त हो। इस प्रकार मेरे शोध और प्रयासों को कोई जवाब नहीं मिला है। ये लिंक मेरे लिए काम नहीं किया:
- is it possible to free memory of UIWebView?
- Reused UIWebView showing previous loaded content for a brief second on iPhone
मैं [[NSURLCache sharedURLCache] removeAllCachedResponses];
की कोशिश की और नहीं के बराबर करने के लिए WebView स्थापित करने और मैन्युअल पर WebView को रिहा नहीं करने के लिए मॉडल-दृश्य-खारिज कर दिया है लाभ। विचित्र लोगों से कोई विचार?
बिल्कुल सही! वेबव्यू के दृश्य समाशोधन के लिए शायद सबसे आसान समाधान। अभी भी समझ में नहीं आता क्यों loadHTMLString इतना धीमा है। शायद ऐसा इसलिए है क्योंकि मैं सीधे बाद में एक और पेज लोड कर रहा हूं, और वेबव्यू खाली पृष्ठ को लोड करने और प्रदर्शित करने से रोकता है जब यह नया लोड करना शुरू करता है। – Cray
यहां पर सबसे अच्छा समाधान। पता नहीं क्यों यह सबसे अच्छा वोट नहीं दिया गया जवाब है। वैसे भी - महान जवाब !! – filou
इस विधि के बारे में सबसे अच्छी बात यह है कि प्रतिनिधि विधि webViewDidFinishLoad को कॉल नहीं किया जाएगा! – user523234