Cordova解决低版本安卓系统WebView兼容问题,更改WebView内核

在Android 5.0之前,Android手机自带的WebView(应用内嵌浏览器)兼容性、性能都存在很大问题。

在Android 5.0之后,Android系统自带的WebView就被替换成了Chromium,性能提升的非常明显,而iOS设备上的WebView一直性能都很出色,所以现在的最大问题就是Android 5.0以下的设备如何提升性能的问题。Crosswalk很早之前就提出了,Crosswalk的WebView也是基于Chromium,但是为低端、低版本设备做了良好的适配。

如何解决低版本以及低端设备上的性能问题?

  • Crosswalk内核
  • 腾讯x5内核

Crosswalk内核

1. 如何使用

cordova plugin add cordova-plugin-crosswalk-webview  

2.关于 cordova-plugin-crosswalk-webview报错:

原因:gradle版本跟crosswalk产生冲突,需要降低gradle版本,或者安装兼容插件

解决办法有2种:

1、在平台/安卓/的build.gradle文件里添加:

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

2、cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.0.0

3.Crosswalk的缺陷

  • crosswalk 打包出来的app特别大,原本3M的APP也变成了几十M
  • APP运行一段时间之后就白屏了( 网查白屏原因:应该是内存占用太多导致的。WKWebView是一个多进程组件,Network Loading以及UI Rendering在其它进程中执行。所以UIWebView上当内存占用太大的时候,App Process会crash;而在WKWebView上当总体的内存占用比较大的时候,WebContent Process会crash,所以就白屏了。)

后面为了解决这个白屏的问题,换了腾讯的X5内核,就没有出现过白屏问题了,打包出来的app也没那么大了,正常的大小。

腾讯x5内核

腾讯X5内核官网:http://x5.tencent.com/tbs/

腾讯X5内核也有Cordova plugin : https://github.com/runner525/x5webview-cordova-plugin

1. 如何使用

cordova plugin add x5webview-cordova-plugin 

你可能感兴趣的:(hybrid,app)