当前位置:  开发笔记 > 编程语言 > 正文

如何提高UIWebView滚动性能?

如何解决《如何提高UIWebView滚动性能?》经验,为你挑选了1个好方法。

似乎很难提高UIWebView的性能,特别是对于像Mashable或Ars Technica这样的网站,其中加载了大量脚本并且长篇多页文章很常见.

我知道3个类似的问题,但它们都没有可行的解决方案:

UIWebView急剧滚动 - 私有API调用-(void)_setDrawInWebThread:(BOOL)arg1-(void)_setDrawsCheckededPattern:(BOOL)arg1建议,我们知道它们不允许在App Store应用程序中使用

如何使用UIWebView快速,流畅地滚动?-有人谈到CATiledLayer,但没有明确的指针,以如何实现这一点.

在UIWebView上实现CATiledLayer以实现快速滚动--Brad Larson告诉他说"由于其复杂的渲染架构,无法手动支持带有CATiledLayer的UIWebView."

我想知道这个问题是否有任何解决方案.欢迎任何建议.



1> Max Seeleman..:

我担心没有.大网站仍然很大,因此消耗大量内存.

我反对Brad Larson:在自己的CATiledLayer中支持webview在技术上是可行的(只是这样[webView.layer renderInContext: ]),但没有多大意义.平铺层加载延迟,Web视图也是如此.您需要大量精细的代码来检测页面何时完成加载,然后将内容缓存到您的平铺图层等等.

尽管如此,webview实际上已经非常优化了.我甚至认为它是整个iOS中最优化的东西之一.它是整个平台中最常用的性能关键组件.每个多行文本都是webview(UITextView是使用它们实现的,例如).如果webview在某个网站上中断,你将很难加快速度.

有些情况下,不同的解决方案也可以起作用,但前提是您正在寻找特殊目的.如果你不是,那就离开你的手,把时间花在其他地方.只是我的2美分......


感谢您的回答.我向Apple Developer Technical Support询问了这个问题,这就是他们告诉我的:"目前,我们没有提供任何机制来优化UIWebView的渲染.你看到差异的原因是Mobile Safari和UIWebView没有使用相同的渲染引擎.性能取决于加载的内容.如果正在运行javascripts或使用插件,这可能会影响性能.我建议你提交一份详细说明你情况的错误报告.这也会让你知道你的错误报告的状态."
推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有