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

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

1:合理使用css

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

2)display:inline后不应该再使用width、height、margin、padding以及float

3)display:inline-block后不应该再使用float

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

5)display:table-*后不应该再使用margin或者float

2:不滥用float

3:不声明过多的font-size

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. 缓存数据:首次加载请求一次后,缓存下来数据;非首次请求优先使用上次请求的数据,这样可以提升非首次请求加载速度;

H5页面性能优化的更多相关文章

  1. [原创]浅谈H5页面性能优化方法

    [原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...

  2. H5教程:移动页面性能优化

    随着移动互联网的发展,我们越发要关注移动页面的性能优化,今天跟大家谈谈这方面的事情. 首先,为什么要最移动页面进行优化? 纵观目前移动网络的现状,移动页面布局越来越复杂,效果越来越炫,直接导致了文件越 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 页面性能优化-原生JS实现图片懒加载

    在项目开发中,我们往往会遇到一个页面需要加载很多图片的情况.我们可以一次性加载全部的图片,但是考虑到用户有可能只浏览部分图片.所以我们需要对图片加载进行优化,只加载浏览器窗口内的图片,当用户滚动时,再 ...

随机推荐

  1. Dependency Properties

      Introduction Value resolution strategy The magic behind it How to create a DepdencyProperty Readon ...

  2. iOS学习08之C语言内存管理

    本次主要学习和理解C语言中的内存管理 1.存储区划分 按照地址从高到低的顺序:栈区,堆区,静态区,常量区,代码区 1> 栈区:局部变量的存储区域 局部变量基本都在函数.循环.分支中定义 栈区的内 ...

  3. ssh An internal error occured during "Add Deployment"

    这个问题一般是由于导入别人做的项目,但是项目所用的jdk跟当前所用的jdk不一样. 以前遇到过这个问题没有解决,今天解决了. 右键项目名→Properties→Java Build Path→Libr ...

  4. Storm-166:Nimbus HA solution based on Zookeeper

    Nimbus HA feature is quite important for our application running on the storm cluster. So, we've bee ...

  5. javascript 返回字符长度,中文为两个字节,英文为一个字节

    //正则:用于区分中文为两个字节function getLength(str){    return String(str).replace(/[^\x00-\xff]/g,'aa').length; ...

  6. Codeforces Round #253 (Div. 2) B - Kolya and Tandem Repeat

    本题要考虑字符串本身就存在tandem, 如测试用例 aaaaaaaaabbb 3 输出结果应该是8而不是6,因为字符串本身的tanderm时最长的 故要考虑字符串本身的最大的tanderm和添加k个 ...

  7. [杂谈] There is a Doctor in My Computer.

    (p.s. 附带手写翻译,有错轻喷) Admin: Hi.             (嗨) Doctor: How do you do?  What brings you to see me?     ...

  8. PHP递归小例子

    $news = M('productbase'); function digui($idd){ $child=M('navclass')->where('f_id='.$idd)->sel ...

  9. HashMap封装的数据用循环快速添加进list中产生的数据集全部相同的问题

    一.问题概述 在一次使用SimpleAdapter时,Data需要使用传入一条数据(Image.Text),该数据条使用HashMap封装.在用HashMap封装的数据用循环快速添加进list中产生了 ...

  10. AJAX回调(调用后台方法返回数据)

    记得先要导入jquery.js. 格式一 $.ajax({"Key1":"value1","key2":"value2" ...