我有一个iPad应用程序(IOS 4.3 & 5.0),每次用户页面向前或向后创建UIView时至少有2个子视图。 2个子视图是UIWebView对象。UIWebView内存泄漏
在每个相关的滑动操作中,旧的UIWebView会被正确地移除和释放(removeFromSuperview然后stopLoading并将委托设置为nil),并且释放父UIView。我可以确认父UIView和2个子UIWebViews都完全没有了。
我可以在网页浏览中看到保留数,因为它们被删除,我确信它们确实每次都被删除。 但是,我的内存分配在每次刷卡时会继续增加〜200-350k。仪器没有泄漏,但我可以看到内存使用量缓慢上升。 在iPad 1上,应用程序最终(在中等使用情况下6-10分钟内)会收到多个内存警告并终止。 LowMemory崩溃日志等等。
我们使用stringByEvaluatingJavaScriptFromString和loadRequest来填充Webviews。即使没有任何内容被注入或加载到webView中,内存使用量也会增加。
是否有人用UIWebViews体验这种行为?有没有人处理过这个成功?
虽然,评论&答案将不胜感激。
你正在从超级视图中删除,停止加载,并将委托设置为零,但你确定*你没有额外的保留在这些网页浏览?可能你没有考虑'@property(nonatomic,retain)'? – Tim
嗨,你有没有碰运气? –
循环参考。我的意见之一仍然挂在控制器上。毕竟经典的记忆体非常经典,但在大型代码库中很难处理。 – smaura777