设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
节点
飞墙
Follow
明白贴
工算小助手
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
React
›
为啥这段代码会造成内存泄露啊?
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
反对牢 A 的人到底在反对什么?
›
AI 都那么强了,传统的学校教育价值是不是
›
微信疯起来六亲不认 元宝都给封杀
›
混电车不省油也不省钱
›
分享一下我的飞牛 NAS 网络方案,我认为比
今日热议主题
用 Flutter 做了一个 Redis Desktop Manage
一个让 agent 间自主进行经济活动的尝试
对 API 中转站的一些疑惑,望大佬解答 🤔🤔
为什么 GitHub Copilot 扣了我一笔 12.19
iPhone Air 摸鱼新姿势
[Opus4.5 免费用] 上线首日使用报告 2026/0
小米系统是我用过最垃圾的系统,再也不用了
出 etherfi u 卡账户 50R
临近春节了,老板更变本加厉地催进度
大站挂了, 301 到 nanaimage.ai 了
显示全部
|
最新评论
42 条回复
·
3806 次点击
31#
zhhbstudio
小成
2024-4-28 18:43:31
Vue2 还是 Vue3 ,数据量大概多少
PS:Vue2 可以通过 composition-api 使用类似 Vue3 的 API
32#
xiangyuecn
初学
2024-4-28 18:56:37
你这点代码能泄露个啥,甩锅给 vue ,寿命+1 。
33#
TKI
小成
2024-4-28 19:41:18
把 flightClient.subscribe 去掉,试了下也没有内存泄漏
https://codesandbox.io/p/sandbox/vant-3-issue-template-forked-vjkxqz?file=%2Fsrc%2FTest.vue%3A16%2C20
34#
wellerman
小成
2024-4-28 19:45:26
1. setInterval 执行用了匿名函数,由于匿名函数定义在全局,可能会导致内存泄露
按 #4 楼给的方法,直接调用命名函数:
timer = setInterval(handleData, 300);
2. 防止 orderBy( 处理时间超过 300ms
var working = false;
function handleData() {
if (working) {
return;
}
working = true;
...
working = false;
}
35#
lulinchuanllc
小成
2024-4-28 20:54:03
flightClient.subscribe 在卸载时也应该 off 掉吧,否则这里的变量都被消息订阅列表里的订阅函数缓存了
36#
DOLLOR
小成
2024-4-29 01:53:00
建议把 data 和 visibleData 都改成浅响应( shallowRef )。
我推测 orderBy 在处理 list 的时候,因为 vue 的响应式处理造成了过重的负担。
37#
visper
小成
2024-4-29 09:47:21
这里代码应该没有什么内存泄露,猜测可能是因为 timeout 300 毫秒执行频率太高,然后数组又太大,orderby 里面每次又生成一个新的 list 重新给 vue 再重新处理初始化响应。造成浏览器内存回收没这么及时。
38#
coderHu
小成
2024-4-29 09:47:32
现在解决了么?蹲个解决方案
39#
ColdBird
小成
2024-4-29 09:52:32
如果 visibleData.value 不是 null ,说明 list 不是原来的 list 了,不然一定是 null
话说这代码写的也有点抽象
40#
davin
限制会员
2024-4-29 11:30:05
变量作用域被污染。另外,可以使用 requestAnimationFrame 替代 setInterval 。
下一页 »
1
2
3
4
5
/ 5 页
下一页
浏览过的版块
职场话题
问与答
生活
分享创造
情感问题
硬件
分享发现
程序员
京东
返回顶部