iphone - 为什么 UIWebView 不释放其所有内存?

标签 iphone cocoa memory ios uiwebview

我有一个具有 UIWebView 的图形密集型 iPad 应用程序。使用模拟器(iOS 4.2.1),我可以看到 Real Mem 在我浏览时增加了很多。我浏览的越多,它使用的 RAM 就越多。当我关闭 UIWebView 并释放它时,它使用的 一些 内存被释放,但不是全部。这很烦人。好的,也许是因为它没有立即释放。美好的。但是我希望系统在出现内存警告时进行一些清理。但是,如果我四处浏览,然后关闭 UIWebView(并释放它),然后在模拟器中触发内存警告,Real Mem 不会改变!什么鬼?

那为什么会这样呢?为什么 UIWebView 不能更好地将内存释放回系统?为什么它似乎没有响应内存警告?我错过了什么吗?

最佳答案

添加作为答案,因为它似乎有帮助:

Activity Monitor is useless for debugging purposes. Use Allocations Instrument. Note that the simulator can behave significantly differently than an app on the device.

很高兴能提供帮助。我经常发现打开“仅跟踪实时分配”对于查看我的应用程序正在进行的工作集非常有帮助。活/死跟踪也很有用。

哦,还有 heapshot analysis (article on my weblog)在追踪内存泄漏方面非常有效。

泄漏?永远不要使用它。 Heapshot 分析完全取代了我。您的里程可能会有所不同。

关于iphone - 为什么 UIWebView 不释放其所有内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552078/

相关文章:

iphone - 将 NSMutableArray 传递给另一个 View ,给出空值

swift - 使用 Swift 的 FileManager 遍历文件夹及其子文件夹中的文件

cocoa - 如何分配Image文件夹?

c++ - iostream导致与另一个库不匹配

iphone - 如何对表格 View 进行排序 - IOS

iphone - 是否可以从 iPhone 应用程序中关闭漫游?

iphone - AFNetworking 缺少哪些主要的 ASIHTTPRequest 功能?

cocoa - Apple 不再接受使用 QuickTime API 的应用程序提交

c - segof 是什么意思?

linux - 从 bash 将特定的十六进制模式写入文件