性能优化相关

  • 请求过程(减少http请求、减小单次请求数据大小、加快请求速度)
    • 针对TCP三次握手时间,使用长连接;浏览器一个域名维护6个长连接可以使资源对应多个域名并行加载;
    • 利用浏览器缓存
      • 强缓存
      • 协商缓存
    • 利用本地缓存
      • local、session
      • cookie优化
        • 尽量减少cookie缓存,除去必要的状态维护尽量使用local和session
        • 避免不需要状态的请求也携带cookie,比如CDN服务器,使其和需要状态的服务不使用同一个域名;通过domain和path属性限制
        • 设置合理的过期时间
    • 借助CDN
      • 静态资源保存在CDN服务器
    • 图片优化
      • 根据不同场景使用最合适的图片类型
        • jpg的特点是有损压缩,压缩到50%以下还能保持60%的清晰度,体积小;但是处理色彩对比强烈和线条感强的图片会有比较明显的模糊感,不支持透明;适用于轮播图,比如京东和淘宝
        • png是无损压缩的高保真图片类型,会比jpg有更好的色彩表现力,而且支持透明,但是体积太大,一般用于LOGO这种精细的图片
        • SVG文件体积更小,压缩性更强,但是渲染成本比较高
        • base64,是一种编码方式,不需要你发送http请求,但是它会膨胀体积,会使html或者css文件增大体积,一般用于小图标
        • webP,无损压缩下比png要小,有损压缩比jpg要小,都支持透明;缺点浏览器支持不完全;可让服务端根据http请求头里accept字段里是否包含webP判断返回webP还是其他格式图片
      • 使用雪碧图
    • 减少代码包体积
      • gzip压缩,只对文件比较有效,原理是将文件中相同的字段替换,可以显著减少文件体积;对图片效果一般
      • 打包过程使用插件去除冗余代码(如console和引入了但是没有用到的模块)
  • 渲染过程
    • css
      • 样式表放在标签中能使页面逐渐渲染,因为布局树会等待cssom的生成,在head标签中提早加载css可以避免dom树生成后等待加载css的空白时期
      • 使用 link 引入,link一边解析html一边加载,@import 是同步操作会等待html解析完成才去加载
      • CSS选择符,从右到左匹配元素
        • 避免使用通配符
        • 利用继承,减少重复css
        • 少用标签选择器,尽量用类名代替
        • 减少嵌套
    • js
      • JS执行会阻止dom渲染,合理根据场景使用async和defer达到异步加载 延迟执行的效果
      • 减少绑定数据监听事件,可以使用事件委托通过事件冒泡机制获取触发的子节点事件
      • 减少 dom 操作(减少重绘回流)
        • 减少 dom 元素的动态增加和删除
        • 避免修改 dom 元素 css 影响布局属性比如 height、width、positon、margin 等
        • 避免获取 computedStyle
        • 避免对 scroll 属性的获取
      • 避免递归死循环爆栈
      • 减少闭包引发的内存泄漏
      • 异步更新,vue
      • 懒加载优化首屏渲染
      • 防抖和节流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值