ios – UIWebView内存泄漏

前端之家收集整理的这篇文章主要介绍了ios – UIWebView内存泄漏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个iPad应用程序( IOS 4.3和5.0),每次用户向前或向后翻页时都会创建一个至少有2个子视图的UIView. 2个子视图是UIWebView对象.

在每次相关的滑动中,旧的UIWebViews被删除并正确释放(removeFromSuperview然后stopLoading并将委托设置为nil)并且取消分配父UIView.我可以确认父UIView和2个子UIWebViews都完全没了.

我可以看到webview上的保留计数,因为它们被删除了,我很确定它们每次都被删除了.
然而,我的内存分配在每次刷卡时继续增加~200-350k.仪器没有泄漏,但我可以看到内存使用量缓慢上升.
在iPad 1上,应用程序最终(在适度使用的6-10分钟内)收到多个内存警告并终止.生成LowMemory崩溃日志等.

我们使用stringByEvaluatingJavaScriptFromString和loadRequest来填充Web视图.即使没有任何内容被注入或加载到webViews中,内存使用也会增加.

是否有人在UIWebViews中遇到过这种行为?有没有人成功处理过这个问题?

虽然,评论&答案将不胜感激.

解决方法

尝试使用Instruments但使用“Allocations”模板并观看UIWebView的“#Living”列.我通常这样使用它:

>@R_301_382@应用程序与分配模板>通过浏览所有标签,滚动等等来“警告”应用程序.>按“Mark Heap”,这将创建一个“Baseline”快照>做你认为导致物体留在身边的东西>再次按“Mark Heap”,这将创建一个“Heapshop#”快照>检查“Heapshop#”中的对象,它将显示自上次快照以来创建和活动的对象的大小和数量.>转到4

猜你在找的iOS相关文章