我试图释放UIWebView对象,但它不能释放内存。 它有什么理由?是否可以释放UIWebView的内存?
回答
也许清除缓存可能有帮助吗?见类NSURLCache
。
仅仅因为你发布了它并不意味着它可以被释放 - 也许它被其他东西所使用?
在你释放它之后,它的保留数是多少?
[myWebView release];
NSLog(@"%i", [myWebView retainCount]);
如果这个数字不为0,其他人被保留它,以及它不能被释放,直到他们释放它太(或者它设置为自动释放,因此将在未来的某个时候消失)。
另一种可能性是,所使用的内存是在创建Web视图时加载的某种共享库 - 您可能无法控制如何卸载该内存。
山姆
PS我假设你也做[myWebView removeFromSuperview];
- 添加自己的视图将保留你。
感谢您的建议deanWombourne – RAGOpoR 2010-02-02 17:09:33
@ Retina的“Retaincount is useless”http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – 2012-01-06 19:28:48
@bbum同意 - 我只是希望当我回答这个问题时,我已经足够了解这个问题,在顶部加上一个大胆的声明! – deanWombourne 2012-01-07 20:43:46
有一些技巧(检查original post为其他人),可能有助于发布一个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];
这将清除所有的URLRequest(包括UIWebView的内部完成的那些)所使用的应用程序的sharedURLCache。
- 1. 从内存中释放UIWebView内容,强制应用程序释放内存
- 2. malloc/free。可以从释放的内存
- 3. 是否可以使用NSUserDefault保存UIWebView?
- 4. 我是否正确释放内存?
- 5. “malloc”ed内存是否隐式释放?
- 6. BroadcastReceiver是否可以从Android操作系统中杀死以释放内存?
- 7. [自动释放]是否可以接受?
- 8. GC运行后是否可以使用Sun JVM将内存释放到系统?
- 9. 从UIWebView一旦关闭释放内存/ cookie /缓存
- 10. 是否可以更改UIWebView中的keybroadType
- 11. 内存不释放
- 12. iPhone - 释放内存
- 13. 与释放内存
- 14. JNI释放内存
- 15. 内存不释放
- 16. Javascript内存释放
- 17. UINavigationViewController内存释放
- 18. 可可未在内存中释放内存
- 19. 是否可以缓存加载在iPhone UIWebView中的资源?
- 20. [XXX retainCount] == 0是否真的代表内存释放?
- 21. Java VM - 释放的内存是否返回到操作系统?
- 22. 执行程序创建的线程池是否释放内存?
- 23. gc.collect是否为我已删除的变量释放内存?
- 24. 使用PInvoke中的结构后,是否需要释放内存?
- 25. 我是否正确释放堆中的内存?
- 26. 这样做是否超出范围释放关联的内存?
- 27. 程序退出时泄漏的内存是否释放?
- 28. 我可以释放传递给SysAllocString的内存吗?
- 29. MKMapView使用的内存可以释放一些如何?
- 30. 如何强制.net以释放内存?
感谢您的建议Diederik – RAGOpoR 2010-02-02 17:09:10
cound你笑我举一些例子来清除缓存? – RAGOpoR 2010-02-02 17:33:54
[[NSURLCache sharedURLCache] removeAllCachedResponses]; – diederikh 2010-02-02 19:03:41