1、尽量减少HTTP请求的次数
- 合并js
- 合并css
- 图片sprite
2.延迟加载内容
- 图片的懒加载
- 数据的懒加载(点击加载更多)
- 功能的懒加载(曝光或者点击后html模块、js功能模块)
3.使用离线缓存
把常用的变动又少的js、css、图片储存到localstorage,第二次访问的时候直接走本地缓存。在移动端使用广泛。
4.CSS、JS放置正确的位置
把CSS放在head中,保证页面看到的样式是对的。
把JS放到body里的最后位置,防止加载JS阻塞页面。
5.静态资源压缩
图片、CSS、JS在发布前要压缩,服务端启用gzip。
6.静态资源使用多个域名
对于图片、CSS、JS、可以使用几个域名进行并发加载。
7.静态资源使用cdn储存
用户与你的网站的接近程度影响响应时间的长短。可以把静态资源内容分发到内容分发网络(Content Delivery Network ,CDN)中加快访问速度。
8.预加载
- 在某个功能还没展开时,在空闲时间预加载相关图片或者JS代码。
- DNS预加载(dns prefetch)
9.dom优化操作
使用JS访问DOM元素比较慢,因此获得更多的页面应用,应该做到:
- 缓存已经访问过的元素
- 线下更新节点之后再将它们添加到文档树中。
- 避免使用JS来修饰页面布局,尽量减少回流和重绘。
- 使用事件代理
10.优化算法
在JS中优化查找,排序的算法。尽量少使用嵌套循环。
11.老旧安卓机的动画优化
- 使用transform,尽量避免回流和重绘
- 开启移动设备硬件加速(给translateZ一个很小的值就可以了)
- 避免一些特别消耗性能的功能,例如:box-shadow