Webview性能、体验、内存测试

时间:2024-04-12 20:45:30

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:

    Webview性能、体验、内存测试

  • 建立连接/服务器处理

    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性能、体验、内存测试
下图是webview界面:1.返回上一级,内存没有明显变化;2.再次打开webview界面,内存又有提高。
Webview性能、体验、内存测试