性能优化篇
大致是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使用是在数据交互特别频繁的项目,需要经常在其他模块中使用来回的数据交互
总之针对项目的优化,必须要首先了解卡顿出现的原因和原理,才可进行优化。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。