iPhone - 如何防止 UIWebView 绘制/更新其内容

Posted

技术标签:

【中文标题】iPhone - 如何防止 UIWebView 绘制/更新其内容【英文标题】:iPhone - How prevent an UIWebView to draw/update its content 【发布时间】:2013-07-09 19:17:55 【问题描述】:

我有一些视图,里面有一个 UIWebView。出于性能原因,我不会动态分配 Web 视图,而是将其设置到 IB 中并与类出口链接。当我不需要它时,我将其hidden 属性设置为YES。

但是,由于性能问题对我的应用程序进行了分析后,我注意到在调整包含这些 UIWebViews 的视图大小时,它们会花费大量时间:

[WebFrame(WebInternal) _drawRect:contentsOnly:]

所以为了防止这种情况,我还将他们的scalesPageToFit 设置为 NO,但这不会改变任何事情。 我已经测试过从项目中删除它们,是的,调整视图的大小确实快得多。

那么如何防止隐藏的 UIWebViews 在无用的绘图工作中占用我的进程时间?

【问题讨论】:

【参考方案1】:

尝试使用 removeFromSuperview 将其从容器视图中移除,而不是隐藏 UIWebView。当您想让它再次可见时,将其作为子视图添加回来。这应该将 UIWebView 的实例保留在内存中,并防止它在不可见时重绘。

【讨论】:

以上是关于iPhone - 如何防止 UIWebView 绘制/更新其内容的主要内容,如果未能解决你的问题,请参考以下文章

加载新的 html 字符串时如何防止 UIWebView 滚动到顶部?

Iphone 如何从 UIWebView 访问相机? [复制]

如何将 iPhone 联系人拉入 UIWebView?

如何从 UIWebView 在 iPhone 上创建 .webarchive 文件?

如何在目标c中为iPhone UIWebView创建兼容的URL页面

iphone: UIwebview 卷曲效果