1、回收原则

  • 全局变量(挂载到window上的才是全局变量)永远不会回收,所以需要减少全局变量的使用
    • 非得使用,及时释放,设置为 ‘’ 或者 null
  • 局部变量,失去引用了被回收。

如果非得往全局变量数组里面不断放数据,程序容易崩溃,该怎么办?

  • 设置上限,到达上限后,用先进先出规则,删除数据

2、查看js内存使用情况

2.1 利用node的api查看

内存回收及性能监控

node底层是c++写的,所以可以使用一些额外的c++内存

2.2 浏览器控制台查看当前内存使用情况

内存回收及性能监控

3、性能监控方案

① 利用window.performance监控内存使用情况,然后通过请求将数据发给后台,生成实时数据,生成可视化后台监控界面
② npm i -g lighthouse

  • github地址: https://github.com/GoogleChrome/lighthouse
  • 实际操作Lighthouse:
    在命令窗口输入:lighthouse https://airhorner.com/
    会在当前目录下生成一个html网页,打开网页可以看到相关性能数据,
    对于相关建议是机器生成,可能误判,最好持半信半疑。
    内存回收及性能监控

4、问题记录

vue 组件中的变量算什么?

  • 一个vue组件本质是vue对象,没有挂载到window上,所以算局部变量。

大文件读取 大文件上传 input =》file,没有限制大小,如果文件很多,浏览器会很卡?

  • h5有一个功能,把文件切片上传。
  • node读取大文件,不要用readFile,用stream

相关文章:

  • 2022-12-23
  • 2021-10-18
  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
  • 2021-11-20
  • 2021-11-27
  • 2021-08-31
猜你喜欢
  • 2021-12-27
  • 2021-07-13
  • 2021-06-13
相关资源
相似解决方案