Cordova WebView 比 Android WebChromeClient 慢

Cordova WebView slower than Android WebChromeClient

昨天,我尝试将 Phonegap 与使用 angularjs 和 angular material 的网络应用程序结合使用。在我的设备(ASUS Zenfone 5 运行 5.0)上性能非常慢,包括动画和键盘输入,打字时字符显示需要大约一秒钟。我研究了 Phonegap 的性能,有人说我应该尝试使用 Crosswalk Project,但性能仍然不佳。

出于好奇,我构建了一个 android 应用程序,它使用 Android 使用 WebChromeClient 的本机 WebView,性能优于 Phonegap + Crosswalk,但为什么呢? Phonegap 不是也使用 Android 本机 WebView 然后将站点作为资产加载吗?

据我所知,Phonegap/Cordova 使用 Chrome 网络视图。通过使用 Crosswalk,您可以确保始终使用最新的 Chrome webview,而与 phone.

上实际安装的 Chrome 版本无关

它可能(但我认为这不太可能)导致性能差异。然而,我期望的是,您加载的某些 Cordova 插件是罪魁祸首。我已经看到(并阅读过)只会降低整个应用程序性能的插件。

编辑: 我自己只用 Angular Material 做过一个实验,当时我没有遇到任何真正的性能问题,但我确实读过一些人写它比普通 Ionic 慢。

我的建议是尝试构建一个 Ionic 应用程序(它很简单 Angular,具有性能优化和一些方便的指令)。如果你想Material为它设计,你可以试试Ionic Material。我切换到那个,因为我发现 Angular Material 有一些很难跟踪的问题,而且它没有遵循 Ionic 的做事方式。

Ionic Material 必须易于访问文档,但是 their Demo 充满了代码示例