似乎很难提高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."
我想知道这个问题是否有任何解决方案.欢迎任何建议.
我担心没有.大网站仍然很大,因此消耗大量内存.
我反对Brad Larson:在自己的CATiledLayer中支持webview在技术上是可行的(只是这样[webView.layer renderInContext: ]
),但没有多大意义.平铺层加载延迟,Web视图也是如此.您需要大量精细的代码来检测页面何时完成加载,然后将内容缓存到您的平铺图层等等.
尽管如此,webview实际上已经非常优化了.我甚至认为它是整个iOS中最优化的东西之一.它是整个平台中最常用的性能关键组件.每个多行文本都是webview(UITextView是使用它们实现的,例如).如果webview在某个网站上中断,你将很难加快速度.
有些情况下,不同的解决方案也可以起作用,但前提是您正在寻找特殊目的.如果你不是,那就离开你的手,把时间花在其他地方.只是我的2美分......