性能优化篇

大致是4个方向

1,减少请求数目,请求合并 接口合并,图片合并使用位置 图片gizp压缩 

2,请求速度,服务器方向,cdn分发 预解析dns

3,增加缓存 例如列表数据,

(1)使用强缓存,5分钟换一次 

(2)离线缓存,图片css后缀

4,JS/CSS优化,加载顺序,服务端渲染,pipeline。




css基础篇 css放前面 作用,先加载样式,避免节点的渲染计算,针对样式的写法上面,尽量避免以下写法 div.class div p这些写法对样式渲染计算非常大,首先找到所有的div,然后再找对应的class
在操作动画的时候 最好使用transform或者opacity方式 transform和opacity 动画是经过gpu优化,性能更加流畅




js篇 列表加载节流 图片懒加载 函数防抖 单页懒加载

场景1:针对大列表,切换tab 这个时候节点会非常多,处理呢可以采用div占位置,虚拟滚动等方式

场景2:针对在大列表中需要滚动计算节点的优化,滚动计算势必造成很多的性能浪费,如果计算量大会造成页面卡顿,可采用节流的方式,减少计算,如果每次计算必须吐出一些节点,针对未吐节点可以采用,首先展示一个骨架的方案,优化显示空白,提升用户体验

场景3:针对交互类的肯定要保证流畅所以要首屏加载完毕才执行,例如王者荣耀tgp游戏交互,拼多多给水果浇水获取相应水果

场景4:针对大型结构的树形,对象某个一个属性编辑时,需要首先找出该节点,

对于一些一次性使用功能,而又不复杂的情况,没有必要引入一个包来解决,例,弹性二楼,简单的渐变动画,直接手写transition
项目小不需要引入redux redux使用是在数据交互特别频繁的项目,需要经常在其他模块中使用来回的数据交互

总之针对项目的优化,必须要首先了解卡顿出现的原因和原理,才可进行优化。


小黑Kje7J
9 声望2 粉丝