减少资源大小可以加快网页显示速度,所以要对、、等进行代码压缩,并在服务器端设置[h2]2.3 无阻塞[/h2]
写在头部的(无异步),和写在标签中的会阻塞页面的渲染,因此放在页面头部并使用方式引入,避免在标签中写,放在页面尾部或使用异步方式加载[h2]2.4 使用首屏加载[/h2]
首屏的快速显示,可以大大提升用户对页面速度的感知,因此应尽量针对首屏的快速显示做优化。[h2]2.5 按需加载[/h2]
将不影响首屏的资源和当前屏幕资源不用的资源放到用户需要时才加载,可以大大提升重要资源的显示速度和降低总体流量。[h3]PS:按需加载会导致大量重绘,影响渲染性能[/h3][h2]2.6 预加载[/h2]
大型重资源页面(如游戏)可使用增加的方法,资源加载完成后再显示页面。但时间过长,会造成用户流失。
对用户行为分析,可以在当前页加载下一页资源,提升速度。[h2]2.7 压缩图片[/h2]
图片是最占流量的资源,因此尽量避免使用他,使用时选择最合适的格式(实现需求的前提下,以大小判断),合适的大小,然后使用智图压缩,同时在代码中用来按需显示[h3]PS:过度压缩图片大小影响图片显示效果[/h3]- a)使用智图( http://zhitu.tencent.com/ )
- b)使用其它方式代替图片(1. 使用2. 使用3. 使用)
- c)使用
- d)选择合适的图片(1.优于2.优于)
- e)选择合适的大小(1. 首次加载不大于2. 不宽于(基于手机屏幕一般宽度))
[h2]2.8 减少Cookie[/h2]
会影响加载速度,所以静态资源域名不使用。[h2]2.9 避免重定向[/h2]
重定向会影响加载速度,所以在服务器正确设置避免重定向。[h2]2.10 异步加载第三方资源[/h2]
第三方资源不可控会影响页面的加载和显示,因此要异步加载第三方资源[h2]2.11 减少HTTP请求[/h2]
因为手机浏览器同时响应请求为4个请求(支持4个,5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个[h1]三、脚本执行优化[/h1]
脚本处理不当会阻塞页面加载、渲染,因此在使用时需当注意- 写在头部,写在尾部或异步
- 避免图片和等的空,空会重新加载当前页面,影响速度和效率。
- 尽量避免重设图片大小
- 重设图片大小是指在页面、、J等中多次重置图片大小,多次重设图片大小会引发图片的多次重绘,影响性能
- 图片尽量避免使用,图片没有使用图片的压缩算法文件会变大,并且要解码后再渲染,加载慢耗时长
[h1]四、CSS优化[/h1]
尽量避免写在HTML标签中写属性[h2]4.1 css3过渡动画开启硬件加速[/h2]- .translate3d{ -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
复制代码 [h2]4.2 避免CSS表达式[/h2]
CSS表达式的执行需跳出CSS树的渲染,因此请避免CSS表达式。[h2]4.3 不滥用Float[/h2]
Float在渲染时计算量比较大,尽量减少使用[h2]4.4 值为0时不需要任何单位[/h2]
为了浏览器的兼容性和性能,值为时不要带单位[h1]五、JavaScript执行优化[/h1][h2]5.1 减少重绘和回流[/h2]- 避免不必要的Dom操作
- 尽量改变而不是,使用代替
- 避免使用
- 减少
[h2]5.2 TOUCH事件优化[/h2]
使用、代替,因快影响速度快。但应注意响应过快,易引发误操作[h1]六、渲染优化[/h1][h2]6.1 HTML使用Viewport[/h2][h3]Viewport可以加速页面的渲染,请使用以下代码[/h3]- [/code][h2]6.2 动画优化[/h2][list][*]尽量使用 [code]CSS3
复制代码 动画合理使用动画代替适当使用动画个元素以内使用动画,个以上使用动画(可使用)[h2]6.4 高频事件优化[/h2]
、事件可导致多次渲染
本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:943129070,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。 |
|