jd-opensource / jd-opensource/micro-app-demo

start 函数配置 destory true,切换子应用,内存持续增加

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
270
Forks
139
PR merge metrics
No merged PRs in 30d

Description

问题表现:
配置 `destory: true` 后,连续切换子应用,内存持续增加。
重现步骤:
测试1:任务管理器
1. 在 main_apps/react16/src/index.js 配置 start 函数,增加 `destroy: true,` 配置。
2. `yarn dev:main-react16`。
3. 访问首页,不打开控制台,打开浏览器任务管理器。
4. 连续切换 vue2, vue3, vue-vite, nextjs11, nuxtjs2 5个子应用,循环8次,每次循环结束后等待15s GC,然后查看内存。
![image](https://user-images.githubusercontent.com/74579438/169329744-e493f9cc-e704-4208-8113-e3dc67ee3385.png)

测试2:控制台内存查看
1. 打开控制台的内存 tab,点击收集垃圾,选择时间线配置
2. 记录,连续切换 vue2, vue3, vue-vite, nextjs11, nuxtjs2 5个子应用,循环4次。
3. 点击收集垃圾,然后停止记录
![image](https://user-images.githubusercontent.com/74579438/169332006-906efb35-afd3-4551-b08b-8a22023701db.png)

测试3: 配置 `destory: false`
1. 在 main_apps/react16/src/index.js 配置 start 函数,增加 `destroy: false,` 配置。
2. 打开控制台的内存 tab,点击收集垃圾,选择时间线配置
3. 记录,连续切换 vue2, vue3, vue-vite, nextjs11, nuxtjs2 5个子应用,循环4次。
4. 点击收集垃圾,然后停止记录
![image](https://user-images.githubusercontent.com/74579438/169333984-e794d83e-766b-467b-bc37-591168151e8b.png)

另外,在 `destory: true`模式下,第二次进入 react16, react 17 子应用报错,这又是另外的问题了。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.