Webview简介
嵌入式的浏览器。
参考文章:https://www.cnblogs.com/dhsz/p/9284492.html
Webview性能
-
Webview启动:
1.APP打开,默认不初始化浏览器内核;
2.打开Webview,创建webview
3.建立网络连接不进行任何优化的情况下,需要等待创建webview完成,建立网络连接。
优化方向:1.启动客户端的同时,创建全局webview待用,并隐藏【需要注意内存消耗、是否存在内存泄露】;2.在初始化webview的同时,通过native来完成一些网络请求等过程。
测试点
1.首次初始化时间:客户端冷启动,第一次打开webview
2.二次初始化时间:打开过webview后,退出webview,再打开如何获取webview启动时间?
1.与获取APP启动时间类似的,我利用了adb中am命令查看waitTime:
-
建立连接/服务器处理
1.DNS
2.connection
3.服务器处理【获取首字节】如何获取以上3个节点的时间?
-
页面框架渲染
DOM下载、DOM解析、CSS请求+下载、CSS解析、渲染、绘制、合成
Webview体验
1.长按选择【可去掉,对于测试来说,需要关注这一点】
2.点击延迟:300ms【可优化】
3.页面滑动期间不渲染/执行
4.crash,可能会导致崩溃的图片过大、不正常使用WebGL等情况
Webview内存
查看是否有内存泄露,思路:进入一个界面,再返回上级界面,监控Dalvik Heap的Private Dirty指标是否正常的回落到原来的值。
相同功能的webview页面与APP页面关于内存的区别:
下图是APP界面的内存情况:返回上一级界面,内存明显回落到原来相近的值
下图是webview界面:1.返回上一级,内存没有明显变化;2.再次打开webview界面,内存又有提高。