Description
Version
2.7.12
Reproduction link
Steps to reproduce
- npm install
- npm run serve
- Open the browser and input the http://localhost:8080/
- Click the add button to create a1-component.
- Click the add button to create a2-component.
- Click the add button to create a3-component.
- Click the add button to create a4-component .
- Click the a4-component delete button to remove a4-component
What is expected?
click the a4-component delete button ,I expected the usedJSHeapSize total is 250mb,but it didn't happen.
What is actually happening?
the usedJSHeapSize total still is about 330mb.
When you click the add button ,the usedJSHeapSize will increase about 80mb.
click four times ,the usedJSHeapSize total is about 330mb.
next click the a4-component delete button ,the usedJSHeapSize Should be reduce 80mb,expected is about 250mb.
but usedJSHeapSize total still is about 330mb.
you can view operating_steps.gif Steps to reproduce and view memory_analysis.gif to find the memory leak reason.
use the chrome memory tool and analysis report ,We can find The bug because
the a3-component.componentInstance.$vnode.parent.componentOptions.children[0] is a4-component.so the a4-component can not be Memory free.
If you can read chinese ,Open the link for https://juejin.cn/post/7153186266300252168