设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
React
›
为啥这段代码会造成内存泄露啊?
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
求职半个月,感觉快撑不住了,想听听大家的
›
共事了 7 年的同事今天 last day,还是会有
›
你能接受女朋友不要彩礼,但是和你谈之前经
›
国内 TOP 大厂快满 3 年了,想裸辞自由几个
›
半夜扰民怎么办,已经严重影响休息了
今日热议主题
最近突然发现 iMessage 可以回复同 Apple I
招聘 AI Native 工程师(北京)
今天早上龙岗一辆车烧了
请教摄像头录像播放失败问题
请教一个实操问题, 白嫖的 Gemini Pro 学生
现在大家如何管理提示词
安利一部新剧《反人类暴行》
Gemini 学生 1 年优惠 弄不了了吗?
反思:历史总是惊人的相似,通过别人的发展
NAS 上部署自制 docker 程序发生网络连接相
显示全部
|
最新评论
42 条回复
·
3593 次点击
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 页
下一页
浏览过的版块
宽带症候群
纯水
Android
Apple
职场话题
上海
成都
服务器
AFF
返回顶部