H5页面性能优化

对于一个产品,性能在用户体验中是必不可缺的一环。性能优化是个长远的事情,联想到导航项目,列出如下性能优化的方案:css

一. 基本的代码层面优化;html

1:合理使用csscss3

  1)正确使用Display属性 Display属性会影响页面的渲染,所以请合理使用web

  2)display:inline后不该该再使用width、height、margin、padding以及float正则表达式

  3)display:inline-block后不该该再使用float浏览器

  4)display:block后不该该再使用vertical-align缓存

  5)display:table-*后不该该再使用margin或者float性能优化

2:不滥用floatcookie

3:不声明过多的font-sizecss3动画

4:值为0时不须要单位

5:标准化各类浏览器前缀

  1)无前缀应放在最后

  2)CSS动画只用(-webkit- 无前缀)两种便可

  3)其它前缀为 -webkit- -moz- -ms- 无前缀四种,(-o-Opera浏览器改用blink内核,因此淘汰)

6:选择器

7:避免让选择符看起来像是正则表达式。高级选择器不容易读懂,执行耗时也长

8:尽可能使用id、class选择器(避免使用内嵌style)

9:尽可能使用css3动画

10:资源加载原则:按需加载和异步加载

11:首次加载不超过1024KB(或者能够说是越小越好)

12:压缩html、css、js

13:减小重绘和回流

14:缓存dom选择和计算

15:尽可能使用事件代理,避免批量绑定事件

16:使用touchstart,touchend代替click

17:Html使用viewport

18:减小dom节点

19:合理使用requestAnimationFrame动画代替setTimeOut

20:适当使用Canvas动画

21:TouchMove, Scroll事件会致使屡次渲染

22:避免空src(空src在部分浏览器中会致使无效请求)

23:避免30*/40*/50*请求错误;

24:Favicon.ico:若是咱们没有设置图标ico,则会加载默认的图标:域名目录下的favicon.ico。不少开发者没有注意到这一点,就会致使这个请求404或者500。app中时不显示,因此尽可能保证ico文件大小小于4kb;

二. 框架级的优化;

    使用第三方资源时,因为资源不可控,因此须要慎重选择。原则是根据项目需求与其对性能的影响去综合考虑,而后选择合适的框架以及库文件。同时须要使用异步加载的方式来加载,避免第三方资源的使用影响项目自己的性能;

三. 域名/服务端的优化;

    1. 启用Gzip压缩;

    2. 资源缓存,长cache:合理设置资源的过时时间,对于一些长期不更新的静态资源,时间设置长一些;

    3. 减小cookie:减小cookie头信息的大小,大小越大,传输速度越慢;

    4. CDN加速:图片或者css,js都可使用cdn来加速;

四. 服务端接口优化;

    1. 接口合并:例如一个页面须要请求两部分以上的数据接口,则建议合并成一个,能够减小http请求数;

    2. 减小数据量:去掉接口返回的数据中不须要的数据;

    3. 缓存数据:首次加载请求一次后,缓存下来数据;非首次请求优先使用上次请求的数据,这样能够提高非首次请求加载速度;

相关文章
相关标签/搜索