为啥 wkwebview 在科尔多瓦的运行速度比移动 safari 慢?

Posted

技术标签:

【中文标题】为啥 wkwebview 在科尔多瓦的运行速度比移动 safari 慢?【英文标题】:Why does wkwebview run slower in cordova compare to mobile safari?为什么 wkwebview 在科尔多瓦的运行速度比移动 safari 慢? 【发布时间】:2014-12-29 15:01:27 【问题描述】:

我使用 famo.us 构建了一个应用程序,它在本机 ios 8 浏览器和这个应用程序中运行得非常好:https://itunes.apple.com/us/app/webview-wkwebview-uiwebview/id928647773?mt=8

链接中的应用允许您在 UIWebView 和 WKWebView 中测试性能。

在对仪器进行分析后,我注意到我的应用在 cordova 中使用的 cpu 比在上面的应用中运行时多 30-40%。我尝试过使用 Telerik 的 UIWebView 和实验性的 WKWebView 插件。我什至尝试使用我的应用程序的内容将科尔多瓦直接指向网络服务器。

无论我删除或尝试什么,我的应用程序在科尔多瓦的运行速度都要慢得多。如果 cordova 和 app store 应用使用相同的 webviews(大概),为什么前者会消耗这么多的 cpu?

如果您能深入了解科尔多瓦的开销在哪里,我们将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

我们发现,将(几乎隐藏的)UIToolbar 添加到 cordova 项目(添加到 MainController.view)可以提高性能。奇怪但真实...

【讨论】:

这太疯狂了。你可以分享所需文件的 github 要点吗? (xib、视图等)? 添加 UIToolbar 确实有一些不同,但后来我们找到了真正的原因,显然 DOM 中的其他地方有 spin-div 导致性能下降。

以上是关于为啥 wkwebview 在科尔多瓦的运行速度比移动 safari 慢?的主要内容,如果未能解决你的问题,请参考以下文章

如何访问科尔多瓦 WKWebview ios 应用程序的 iframe 中的元素?

为啥 WKWebView 无法运行 processingjs 脚本?

为啥我的 WKWebView 的故事板表示看起来与在模拟器上运行的不同?

为啥我的 WKWebviews 在模拟器上工作,但无法在 iPad 上提取文件?

为啥即使在 WKWebView 中设置 cookie 后 SSO 也不起作用?

为啥我在 iOS 9 上的 WKWebView 中的音频流无法播放?