浏览器刷新为什么不会走销毁(beforeDestroy和destroyed)周期?

浏览器刷新为什么不会走销毁(beforeDestroy和destroyed)周期?

为什么我要写这篇博客呢,还有就是为什么我会问这个问题呢?

因为之前我遇到一个内存泄漏的问题,然后呢我在vue的beforeDestroy生命周期钩子函数里去释放一个实例的内存(3d模型),然后因为电脑很卡,我一遍又一遍的刷新页面,之后我去看那个任务管理器的时候发现谷歌的浏览器内存竟然占到了四五个g,我想着我去释放内存了,怎么内存还会增长?

浏览器刷新的时候会走这两个生命周期吗
答案是不会的。
这个时候就会有很多人问了,组件卸载的时候不是会走着两个周期吗?现在怎么不走了?我们先看看浏览器刷新的时候做了什么你就会明白了。

浏览器刷新是做了些什么

浏览器的刷新其实相当于重新访问这个ip地址,包括html和js,css文件都会重新获取(这里会涉及到文件缓存的问题,但与vue的生命周期没有关系)
浏览器不在乎你之前的页面是什么,相当于把你之前的页面给关了再打开 (直接拉闸再接电)
那又有很多人会问,那怎么办,总不能不去销毁那些东西啊

我们可以在页面加载的时候添加一个监听事件去监听浏览器刷新,关闭,这样就可以在浏览器刷新或者关闭的时候也能处理对应的业务逻辑

重温vue生命周期
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好 运.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值