Iphone 是否可以释放UIWebView的内存?

Iphone 是否可以释放UIWebView的内存?,iphone,memory-management,uiwebview,Iphone,Memory Management,Uiwebview,我试图释放UIWebView对象,但它不能释放内存。 有什么原因吗?清除缓存可能会有所帮助?请参阅NSURLCache类。仅仅因为您已经发布了它并不意味着它可以被发布-可能它正在被其他东西使用 释放后的保留计数是多少 [myWebView release]; NSLog(@"%i", [myWebView retainCount]); 如果这个数字不是0,其他人也会保留它,并且在他们也释放它之前无法释放它(或者它被设置为自动释放,以便在将来某个时候消失) 另一种可能性是,所使用的内存位于某种共

我试图释放UIWebView对象,但它不能释放内存。
有什么原因吗?

清除缓存可能会有所帮助?请参阅
NSURLCache
类。

仅仅因为您已经发布了它并不意味着它可以被发布-可能它正在被其他东西使用

释放后的保留计数是多少

[myWebView release];
NSLog(@"%i", [myWebView retainCount]);
如果这个数字不是0,其他人也会保留它,并且在他们也释放它之前无法释放它(或者它被设置为自动释放,以便在将来某个时候消失)

另一种可能性是,所使用的内存位于某种共享库中,在创建web视图时会加载该库—您可能无法控制如何卸载该库

萨姆


PS我假设您也做了
[myWebView从SuperView移除]-将自己添加到视图中会保留您。

在发布UIWebView时,有许多技巧(检查其他一些技巧)可能有助于尽可能多地清理内存。不幸的是,它们从未完全释放所使用的内存。对我来说,通常更好的方法是在发布WebView之前清空它的HTML文档

// Empty the HTML document. This hack free some additional memory
[webview stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML='';"];
但我从未完全释放web组件使用的内存:(

此外,如果您也想清除URLcache,可以尝试通过以下调用清除它:

// remove all cached responses
[[NSURLCache sharedURLCache] removeAllCachedResponses];

这将清除应用程序用于任何URL请求(包括在UIWebView中完成的请求)的sharedURLCache。

[[NSURLCache sharedURLCache]removeAllCachedResponses];我尝试了您的代码,但没有释放内存。感谢您的回复“Retaincount无用”通过@bbum@bbum同意-我只是希望我在回答问题时已经知道足够多,在顶部用粗体写一个大的免责声明!