美文网首页
webview优化

webview优化

作者: wlpgdd0725 | 来源:发表于2019-03-15 10:39 被阅读0次

回顾系统 WebView 进化史

从Android4.4系统开始,Chromium内核取代了Webkit内核

从Android5.0系统开始,WebView移植成了一个独立的apk,可以不依赖系统而独立存在和更新。

从Android7.0 系统开始,如果用户手机里安装了 Chrome , 系统优先选择 Chrome 为应用提供 WebView 渲染。

从Android8.0系统开始,默认开启WebView多进程模式,即WebView运行在独立的沙盒进程中。

WebView启动过程

app首次打开默认不初始化浏览器内核,只有创建WebView实例才会初始化相关组件

初始化时间分为两部分:

首次初始化时间:客户端冷启动后,第一次打开WebView,从开始创建WebView到开始建立网络连接之间的时间。

二次初始化时间:在打开过WebView后,退出WebView,再重新打开WebView,从开始创建WebView到开始建立网络连接之间的时间。

在浏览器中,我们输入地址时(甚至在之前),浏览器就可以开始加载页面。

而在客户端中,客户端需要先花费时间初始化WebView完成后,才开始加载

怎么优化:

1.创建全局webview,但是额外的内存消耗并且容易造成内存泄漏。

2.在客户端初始化WebView的同时,直接由native开始网络请求数据;当页面初始化完成后,向native获取其代理请求的数据

70%以上业务由H5开发,手机QQ Hybrid 的架构如何优化演进?

在页面请求的数据返回之前,主要有以下过程耗费时间。

DNS

WebView的域名与App的API域名统一,则可以让WebView的DNS时间全部达到1.3ms的量级。

静态资源同理,最好与客户端的资源域名保持一致。

connection

服务器处理

在HTTP协议中,我们可以在header中设置 transfer-encoding:chunked

使得页面可以分块输出。如果合理设计页面,让head部分都是确定的静态资源版本相关内容,而body部分是业务数据相关内容,那么我们可以在用户请求的时候,首先将Web API可以确定的部分先输出给浏览器,然后等API完全获取后,再将API数据传输给浏览器。

创建独立的进程process

进度条

开启软硬加速(闪烁或者黑白屏),耗费更多的内存

相关文章

  • Android webview-tips

    webview优化 Android学习之 WebView使用小结 Android 各个版本WebView 移动前端...

  • WebView性能、体验分析与优化

    WebView性能、体验分析与优化

  • Android WebView 优化

    总结自美团技术团队《WebView 性能、体验分析与优化》 性能优化 WebView 为什么会感觉很慢? 对于一个...

  • Android webview提升打开速度方案

    前言 为了提高WebView的加载速度,提升用户体验,WebView优化方案如下:思路:让WebView打开时加载...

  • WebView的使用

    WebView的基本使用 WebView的中级使用 WebView的高级使用 优化网页加载速度 Android和JS交互

  • WebviewPool 打造属于自己的WebView池 ,优化W

    最近把Webview优化速度,好好看了看,发现在webview启动的时候特别耗时 性能 对于WebView的性能,...

  • Android知识点总结

    面试会被问到;性能优化往哪些方面考虑?内存优化?布局优化?Listview优化?webview与html5 js...

  • WebView优化

    从Android4.4系统开始,Chromium内核取代了Webkit内核,正式地接管了WebView的渲染工作。...

  • webview优化

    http://mp.weixin.qq.com/s/evzDnTsHrAr2b9jcevwBzA

  • WebView优化

    1 WebViewClient.onPageFinished(): 不能确保WebView调用这个方法的时候,We...

网友评论

      本文标题:webview优化

      本文链接:https://www.haomeiwen.com/subject/uttlmqtx.html