测试关注指标

  1. Http请求个数

    • 同一个域名不同浏览器内核、不同版本浏览器,大部分并发请求数是6个;
    • 优化方案:

      a.雪碧图:即CSS Sprite,也称CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用CSS的背景定位来显示需要显示的图片部分。

      b.图片地图:是一种小图合并大图的范式,和雪碧图相似,区别仅在实现原理上有不同,雪碧图仅仅是通过CSS的方式来呈现图片的某个局部,而图片地图是从html代码的方式来控制显示区域。

      c.JS&CSS合并:将多个小的js、CSS合并成一个大的js、CSS文件,间接达到减少http请求的目的。

  2. 组件是否压缩

    • 压缩方法:在http请求中设置所接受到压缩方式,在Server端对Response资源进行压缩再传给浏览器。一般使用GZIP设置content-Encoding字段

    • 压缩对象:图片音乐不需要再压缩;Js,CSS通过去掉空格和回车来压缩,再经过GZIP压缩;

  3. 图片格式和大小是否合适

    • 图片格式:JPG性价比最高;

    • 图片尺寸:常用规格为480×800、600×1024、720×1280,800×1280等,获取原图而不是通过代码对图片放大或缩小;

    • 图片压缩:压缩工具如TinyPNG, Smush.it可以得到更好的压缩且图片质量不变;

  4. CSS放在顶部

    • CSS要放到html代码的开头的head标签结束前,放底部可能会引起“闪屏”的不好体验;
  5. JS放在底部

    • 下载js时,并行下载机制失效,渲染引擎会等待js下载完成再开始渲染,最后加载js减少页面加载时间;
  6. JS &CSS压缩

    • 压缩方法,比如:

      //CC的压缩示例代码
      
      function echo(stringA,stringB){
      
           var hello = "你好";
      
           alert("hello world");
      }

      第一步:“精简”,去掉js中的空格,换行符和注释等信息,使得js代码变得紧凑而不失其语义。如:

      function echo(stringA,stringB){var hello="你好";alert("hello world")};

      第二步:”混淆”,将方法名和变量名用更简短的方式来表达,如变量可以用一个字符来表示。如:

      function echo(c,b){var a="你好",alert("hello world")};

      最后,经过压缩过的脚本文件使用务器端设置GZIP压缩算来压缩;

  7. 是否添加缓存

    • 通过HTTP的META设置expires和cache-control;
  8. 避免非200返回值

    • 如果有http请求返回为非200的状态码,我们认为这一次请求是无意义的,占用了稀缺的网络资源,所应该避免非200的返回状态码;
  9. 使用CDN

    • 时间相关:首屏时间,首资源下载时间,总资源下载时间,用户可操作时间;
    • WebView相关: 内存:加载页面前后内存变化,可间接反映H5中资源数量和大小,如dom数量,图片大小;

      CPU:当页面中资源样式复杂,强调视觉效果时,可观察CPU占用率来反映H5绘制质量。如果CPU长期处于高占用率,可考虑降低高计算量的视觉效果等手段;

      FPS:帧率尤其在有视频和动画效果的H5中,应该重点关注,防止严重的卡顿流出。

推荐工具

Chrome DevTools

H5前端性能测试总结的更多相关文章

  1. 移动H5前端性能优化指南

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  2. 移动H5前端性能优化指南(转载)

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  3. [推荐]移动H5前端性能优化指南

    [推荐]移动H5前端性能优化指南 http://isux.tencent.com/h5-performance.html

  4. 移动H5前端性能优化指南[转]

    移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首 ...

  5. 第146天:移动H5前端性能优化

    移动H5前端性能优化 一.概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点,首屏加载3秒完成或使用Loading 4. 基于联通 ...

  6. [转]移动H5前端性能优化指南

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  7. 移动H5前端性能优化指南[托尼托尼研究所]

    概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2. ...

  8. 移动端H5前端性能优化指南:

    分享地址:https://isux.tencent.com/h5-performance.html

  9. 移动 H5(PC Web)前端性能优化指南

    原文地址https://zhuanlan.zhihu.com/p/25176904?utm_source=wechat_session&utm_medium=social&utm_me ...

随机推荐

  1. 自动化运维工具——puppet详解(二)

    一.class 类 1)什么是类? 类是puppet中命名的代码模块,常用于定义一组通用目标的资源,可在puppet全局调用: 类可以被继承,也可以包含子类: 具体定义的语法如下: class NAM ...

  2. Implement Queue using Stacks(用栈实现队列)

    Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of ...

  3. Struts2中validate数据校验的两种常用方法

    本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器.  1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...

  4. git忽略文件

    .gitignore文件配置 ###################### # Project Specific ###################### /src/main/webapp/dis ...

  5. .net 图片无损压缩

    命名空间: using System.Drawing.Imaging; using System.Drawing; using System.Drawing.Drawing2D; #region Ge ...

  6. Hibernate框架HQL语句

    这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...

  7. iOS UICollectionView(转一) XIB+纯代码创建:cell,头脚视图 cell间距

    之前用CollectionViewController只是皮毛,一些iOS从入门到精通的书上也是泛泛而谈.这几天好好的搞了搞苹果的开发文档上CollectionViewController的内容,亲身 ...

  8. iOS开发--数据库管理CoreData的使用

    CoreData是iOS5后,苹果提供的原生的用于对象化管理数据并且持久化的框架.CoreData本质上是将底层数据库封装成对象进行管理.但数据库实际上只是CoreData的一个功能,并不是全部功能. ...

  9. Find the Maximum sum

    Given an array of n elements.Find the maximum sum when the array elements will be arranged in such w ...

  10. bzoj 3653 [湖南集训]谈笑风生

    题目描述 设 T 为一棵有根树,我们做如下的定义: • 设 a 和 b 为 T 中的两个不同节点.如果 a 是 b 的祖先,那么称"a 比 b 不知道高明到哪里去了". • 设 a ...