javascript性能优化二 之Performance

Performance工具介绍

为什么使用Performance

  • GC的目的是为了实现内存空间的良性循环
  • 良性循环的基石是合理使用
  • 时刻关注才能确定是否合理
  • Performance提供多种监控方式

通过Performance时刻监控内存
javascript性能优化二 之Performance
内存问题的体现
javascript性能优化二 之Performance
javascript性能优化二 之Performance
任务管理器监控内存
任务管理器监控内存
javascript性能优化二 之Performance
关注这两列的内存,如果javascript内存的小括号里的大小是一直向上走的没有降低是有问题的

Timeline记录内存
用代码模拟一下内存大量消耗
javascript性能优化二 之Performance
javascript性能优化二 之Performance
蓝色的线条可以看出内存有涨有降还是比较稳定的,降的时候已经启动垃圾回收机制了

堆快照查找分离DOM
javascript性能优化二 之Performance
javascript性能优化二 之Performance
javascript性能优化二 之Performance
javascript性能优化二 之Performance
检索到的是我们增加的dom节点,只是没有添加在页面上,的确存在于堆中,这其实就是一种空间的浪费,可以通过堆快照找到存在的问题就是分离dom。把用不到的置为null

判断是否存在频繁GC
javascript性能优化二 之Performance
javascript性能优化二 之Performance
Performance总结

Performance是谷歌浏览器提供的性能工具,内存会带来的一些问题,比如内存泄露,内存膨胀,以及频繁的GC操作,任务管理器如何来监控变化的,具体来说是两个数值,一个是当前dom节点所占用的内存的变化,还有一种是当前的js堆的变化,如果这两个值是持续增加,就代表代码是不断的有内存申请的就要判断是否存在问题。
代码中存在分离dom,并且这种分离dom越来越多的话,会造成内存泄露
javascript性能优化二 之Performance