设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
React
›
为啥这段代码会造成内存泄露啊?
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
关于在大城市留不下来这件事,大家都是怎样
›
我的人生好像有点坏掉了,请大家给点建议
›
长话短说 大家觉得花三十万结婚,存款花完
›
如果你现在中了大乐透一等奖,你会?
›
公司组团去泰国旅游安全吗?
今日热议主题
实现一个流式 Json 解析器,解决既要求结构
求推荐 iPhone 比较靠谱的梯子
目前市场上的社交软件都有哪些不足和痛点,
兄弟们 冬至你们公司组织包饺子吗
长期收云服务发票 阿里云
什么叫做重度 apple 用户?
用 github copilot 写了一个 Model Scope
请问我有 2 个 cursor pro 账号,为什么一
[上海/成都] Share Creators 诚招: AI、We
[武汉作业帮海外新业务] 招募全职 Android
显示全部
|
最新评论
42 条回复
·
3556 次点击
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 页
下一页
浏览过的版块
分享发现
问与答
Apple
程序员
交易
投资
返回顶部