前端性能优化

171 阅读1分钟

不讲具体的优化方法,也许你记住了些常用方法,但也仅限在死记硬背,我们能否从整体、系统性的思考问题呢?

为什么要性能优化

从用户角度看,第一:快速下载到资源;第二:页面运行流畅;因此优化的目的是等待更少的时间,快速响应;

资源请求:又小又少(大小要小,请求要少),你会发现大部分的优化方法是围绕又小又少展开的;

从两个维度 时间和空间 着手;

维度

最终的目的是缩短时间,从时间和空间 两个维度思考,比如缓存时减少时间、压缩和合并是减少空间;

浏览器

加载资源:web应用依附于浏览器,简单的过程是浏览器请求下载资源=> 运行资源; 因此第一步从网络出发,从各节点提高速度;由此衍生出 缓存、dns预解析、长连接、DNS; 空间角度思考是合并请求、合并css文件、gzip压缩、减少cookie大小,降低网络请求次数和响应包大小;

执行阶段:

加载顺序,大任务分解为小任务,必要任务先执行、次要任何后执行; js执行效率,比如注重代码质量,好的算法; css重排与重绘,优先使用css3动画实现部分功能,可大大降低重排;