让前端飞程序员

移动端优化篇

2018-11-20  本文已影响89人  老王420

减少资源大小可以加快网页显示速度,所以要对 HTMLCSSJavaScript 等进行代码压缩,并在服务器端设置 GZip

GZip

2.3 无阻塞

写在 HTML 头部的 JavaScript (无异步),和写在 HTML 标签中的 Style 会阻塞页面的渲染,因此 CSS 放在页面头部并使用 Link 方式引入,避免在 HTML 标签中写 StyleJavaScript 放在页面尾部或使用异步方式加载

2.4 使用首屏加载

首屏的快速显示,可以大大提升用户对页面速度的感知,因此应尽量针对首屏的快速显示做优化。

2.5 按需加载

将不影响首屏的资源和当前屏幕资源不用的资源放到用户需要时才加载,可以大大提升重要资源的显示速度和降低总体流量。

PS:按需加载会导致大量重绘,影响渲染性能

LazyLoad
Media Query

2.6 预加载

大型重资源页面(如游戏)可使用增加 Loading 的方法,资源加载完成后再显示页面。但 Loading 时间过长,会造成用户流失。

对用户行为分析,可以在当前页加载下一页资源,提升速度。

Loading
Loading

2.7 压缩图片

图片是最占流量的资源,因此尽量避免使用他,使用时选择最合适的格式(实现需求的前提下,以大小判断),合适的大小,然后使用智图压缩,同时在代码中用 Srcset 来按需显示

PS:过度压缩图片大小影响图片显示效果

2.8 减少Cookie

Cookie 会影响加载速度,所以静态资源域名不使用 Cookie

2.9 避免重定向

重定向会影响加载速度,所以在服务器正确设置避免重定向。

2.10 异步加载第三方资源

第三方资源不可控会影响页面的加载和显示,因此要异步加载第三方资源

2.11 减少HTTP请求

因为手机浏览器同时响应请求为4个请求( Android 支持4个, iOS 5后可支持6个),所以要尽量减少页面的请求数,首次加载同时请求数不能超过4个

三、脚本执行优化

脚本处理不当会阻塞页面加载、渲染,因此在使用时需当注意

四、CSS优化

尽量避免写在HTML标签中写 Style 属性

4.1 css3过渡动画开启硬件加速

.translate3d{
   -webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
   -ms-transform: translate3d(0, 0, 0);
   transform: translate3d(0, 0, 0);
 }

4.2 避免CSS表达式

CSS表达式的执行需跳出CSS树的渲染,因此请避免CSS表达式。

4.3 不滥用Float

Float在渲染时计算量比较大,尽量减少使用

4.4 值为0时不需要任何单位

为了浏览器的兼容性和性能,值为 0 时不要带单位

五、JavaScript执行优化

5.1 减少重绘和回流

5.2 TOUCH事件优化

使用 touchstarttouchend 代替 click ,因快影响速度快。但应注意 Touch 响应过快,易引发误操作

六、渲染优化

6.1 HTML使用Viewport

Viewport可以加速页面的渲染,请使用以下代码

<meta name=”viewport” content=”width=device-width, initial-scale=1″>

6.2 动画优化

6.4 高频事件优化

TouchmoveScroll 事件可导致多次渲染

requestAnimationFrame

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:943129070,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

上一篇 下一篇

猜你喜欢

热点阅读