我有一个具有 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/