美文网首页
vuejs切换路由导致内存泄漏

vuejs切换路由导致内存泄漏

作者: noyanse | 来源:发表于2018-09-09 14:21 被阅读0次

    做项目的时候遇到切换路由,vueComponent仍然存在内存中,不会被回收的问题。
    还未找到解决方法,记录一下别人的解决方法:

    链接:
    https://forum.vuejs.org/t/vuejs-memory-leak-when-switching-routes/38865
    https://github.com/vuejs/vue-router/issues/1181
    https://stackoverflow.com/questions/51400373/vuejs-memory-leak-when-switching-routes
    https://github.com/vuejs/vue/issues/6759
    https://github.com/vuejs/vue/issues/4990
    https://github.com/vuejs/vue-router/issues/1111
    https://github.com/bootstrap-vue/bootstrap-vue/issues/1391
    https://stackoverflow.com/questions/51240587/vue-memory-leak-each-time-v-if-value-is-changed-more-memory-is-needed

    1. https://github.com/bootstrap-vue/bootstrap-vue/issues/1391
      这个是因为第三方插件引起的内存泄漏


      3580c82f6c16bbcbbc409f5c395b168.png
    2. https://github.com/vuejs/vue-router/issues/1111

    c9a9b3e115ac81a5a61d80238d97803.png 2833cc967ea3bccd972053152e8a170.png 57b7a7ffe9c079c03043c54562b1c1e.png 2a228da0face6223784658a0de3b688.png 82e458376e4fc8546a2d4f573f64659.png
    1. https://github.com/vuejs/vue/issues/4990
      bf95d8061d6eb191739eabe50c1ed1b.png
    1. https://github.com/vuejs/vue/issues/6759
    6ae6e98f41214c529e1e1724c675090.png c9574b3c2f30d67324e38553d7c1bf9.png
    1. https://stackoverflow.com/questions/51400373/vuejs-memory-leak-when-switching-routes
    dd7ef0cc4811381a0949148ec01b200.png
    1. https://github.com/vuejs/vue-router/issues/1181
    1. https://forum.vuejs.org/t/vuejs-memory-leak-when-switching-routes/38865

    我在项目中把存在全局对象的数据放到vuex中,destroyed的中销毁事件监听等,在win10的IE和Chrome内存平稳了,但是win7的IE还是存在问题……蒙圈了

    win7的话,在created和mounted中声明的变量要手动置为null,长的表达式用变量存下来,用完清空,data中的东西在destroyed中设置为null,setTimeout在beforeDestroy中清除,很多东西要手动清,包括引入的第三方插件

    最最重要的,如果数据庞大,不要用vue的双向绑定

    相关文章

      网友评论

          本文标题:vuejs切换路由导致内存泄漏

          本文链接:https://www.haomeiwen.com/subject/nbzrgftx.html