为了账号安全,请及时绑定邮箱和手机立即绑定

router切换后,组件销毁却并未真正删除DOM,快速切换页面时,使得内存消耗过大,该怎么解决?

router切换后,组件销毁却并未真正删除DOM,快速切换页面时,使得内存消耗过大,该怎么解决?

ABOUTYOU 2019-02-19 16:12:40
使用的nw开发的项目,所以原生支持node,刚开始还以为是Nw导致的崩溃,后来才发现是vue(或者说vue-router)的原因。。使用router切换页面前,初始占用内存是正常值(150M左右),正常速度切换路由的话,基本上因页面切换导致的内存增加会很快降回来,在±5M左右。但如果切换的非常快的话,每次路由切换增加的3-10M,将不会降回原来的值且会不断增加,直到停止操作的时候,内存也不会很快降回正常值。经过对自己项目的一系列测试后发现,如果因为快速操作而导致的内存涨至<=350M左右,一段时间不操作后,内存基本上都会降回初始的150M,但如果>350M的话,内存将只加不减,每次操作都会增加一定的内存占用,直到程序崩溃闪退。。第一原因肯定是怀疑自己写的代码导致了内存泄漏,就另外快速生成(webpack+vue-cli)了一个demo,build后运行,最后的结果和上述差不多,大概如下:demo下载
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

这样写试试


<keep-alive>

      <router-view></router-view>

</keep-alive>


查看完整回答
反对 回复 2019-02-22
  • 1 回答
  • 0 关注
  • 2228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信