正如问题所暗示的,我非常确定这些内存问题是由未被清理的孤立Vue组件引起的.可以在源代码中查找循环引用等...并手动修复.
我在寻找一种方法来找到特定的Vue组件,以便缩小代码搜索范围.
我找到的最好的方法确实需要一些手动操作,但效果很好.
从Chrome开发工具堆快照中,我们可以搜索
注意:您必须为开发人员而不是生产人员编译Vue,否则将无法工作
这将显示已从DOM分离的元素列表.
我们现在可以点击其中一个项目来突出显示它.
然后我们可以转到Chrome开发工具控制台,输入$0
来获取元素.
从这一点我可以看出,我的登录页面的邮箱输入是罪魁祸首,所以我应该调查为什么没有被销毁.
虽然这确实提供了一种追踪未被销毁组件的好方法,但请注意,并非所有detached
个 node 都是坏 node ,请应用应用程序的上下文来确定是否存在内存泄漏.