micro-app icon indicating copy to clipboard operation
micro-app copied to clipboard

内存泄露问题

Open boogie-ben opened this issue 1 year ago • 8 comments

问题描述

子应用已经设置了destory: true,都会出现这个问题。即使是手动调用unmountApp也一样

  • ESM + iframe沙箱
  • 非ESM + iframe沙箱
  • 非ESM + with沙箱

上述三种子应用配置组合都会出现这个问题,并且inline配置项、fibler配置项的true或false都对这个3种模式互相组合试过了,都会出现这个问题。

手动fork源码对unmount流程中添加了指定sandbox、iframe等属性都清空也避免不了这个问题。 估计在实现过程中的某个地方保留了对子应用的引用导致无法自动OC?

我发现这个问题是因为tdesign-icon在micro-app环境下自动请求svg精灵图时在子应用首页生成了90000个dom导致子应用在第二次挂载时已经卡死的异常。相关issues

麻烦尽快排查一下这个问题,貌似一直都存在这个现象。

相关issues

  • #1030
  • #1017
  • #949
  • #945
  • #400
  • #63

复现步骤

  • 包括官方示例,内存问题是一样的。

上传截图

1 11


2 22


3 33


4 44

复现仓库

包括官方示例,内存问题是一样的。

环境信息

  • micro-app版本:1.0.0-rc.3
  • 主应用前端框架&版本:[email protected] / vite@5
  • 子应用前端框架&版本:[email protected] / vite@4 / vue-cli
  • 构建工具&版本:vite@5

boogie-ben avatar Jan 23 '24 10:01 boogie-ben

现在有解决方案吗?我这也是一样的问题

yuuuuuyu avatar Feb 21 '24 06:02 yuuuuuyu

同求,影响用户体验

bayuango avatar Feb 21 '24 06:02 bayuango

现在有解决方案吗?我这也是一样的问题

貌似维护者一直都没处理,相关issues也不少了,我也在源码没找到原因,现在我是把所有子应用keep-alive就不会有同一个子应用占用内存翻倍的问题了,但是需要处理下子应用激活和隐藏时路由同步

boogie-ben avatar Feb 22 '24 08:02 boogie-ben

现在有解决方案吗?我这也是一样的问题

貌似维护者一直都没处理,相关issues也不少了,我也在源码没找到原因,现在我是把所有子应用keep-alive就不会有同一个子应用占用内存翻倍的问题了,但是需要处理下子应用激活和隐藏时路由同步

我使用的是官方推荐的UMD渲染模式,同时启用 iframe 加载,基本保证keep-alive等功能正常使用。 内存泄漏情况我也测试了很多次,除了第一次加载资源内存会升高,后面都比较稳定,没有出现持续上涨情况

fychinesepjj avatar Feb 27 '24 02:02 fychinesepjj

同问。为了实现多tab,打开了很多 micro-app标签,打开一个子应用就大概50M,unmount了不会减。非常容易就上1G内存了。

jatyPeng avatar Jun 06 '24 12:06 jatyPeng

@bailicangdu 官方大佬,帮忙看看这个内存问题啊。没打开几个tab就 1个G内存了,关了还请不掉。是用umd的。

jatyPeng avatar Jun 07 '24 06:06 jatyPeng

俺也出现了这个问题

xiangxinji avatar Jun 21 '24 03:06 xiangxinji

现在有解决方案吗?我这也是一样的问题

貌似维护者一直都没处理,相关issues也不少了,我也在源码没找到原因,现在我是把所有子应用keep-alive就不会有同一个子应用占用内存翻倍的问题了,但是需要处理下子应用激活和隐藏时路由同步

你解决了么?

shaojiankui avatar Aug 16 '24 13:08 shaojiankui