ios – UIWebView内存泄漏

ios – UIWebView内存泄漏,第1张

概述我有一个iPad应用程序( IOS 4.3和5.0),每次用户向前或向后翻页时都会创建一个至少有2个子视图的UIView. 2个子视图是UIWebView对象. 在每次相关的滑动中,旧的UIWebViews被删除并正确释放(removeFromSuperview然后stopLoading并将委托设置为nil)并且取消分配父UIView.我可以确认父UIView和2个子UIWebViews都完全没了 我有一个iPad应用程序( IOS 4.3和5.0),每次用户向前或向后翻页时都会创建一个至少有2个子视图的UIVIEw. 2个子视图是UIWebVIEw对象. @H_502_7@

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

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

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

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

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

解决方法 尝试使用Instruments但使用“Allocations”模板并观看UIWebVIEw的“#living”列.我通常这样使用它: @H_502_7@

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

总结

以上是内存溢出为你收集整理的ios – UIWebView内存泄漏全部内容,希望文章能够帮你解决ios – UIWebView内存泄漏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/999474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存