加载阶段:
定义:发出请求到页面渲染完成。
影响因素:网络环境和关键资源(html, js, css)的加载速度。
几个要点及其解决方案:
- 关键资源个数,个数越多,整体耗时越长。解决方案:可以将部分js和css改为内联的形式,如果js没有dom操作,则可以加上async和defer属性。
- 关键资源大小。解决方案:使用代码压缩。
- RTT时长。使用CDN加速。
- 按需加载。首屏不需要的组件代码可以先不加载,从而减少关键资源的个数和大小。
交互阶段:
定义:页面加载完成之后,用户与页面进行交互的阶段。
影响因素:js脚本。
解决方案:
- 避免运行计算量大的任务,js是单线程运行的,因此不要霸占主线程太久。
- 避免DOM操作的高频率操作。
- 尽量用css来做动画,而不是js的dom操作。
- 避免产生垃圾数据,减少gc操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END