短时间内通过websocket调用同一个函数导致页面显示不正常

后台与页面建立一个websocket,做压力测试时,后台循环一万次通过websocket将数据传递给页面,并调用指定函数处理数据,将数据对应的图片展示到页面。现在的现象是:刚开始页面能够正常隐藏再显示图片,2000次以后,图片的隐藏和显示就变得缓慢起来,比如后台发送了200次,但页面并没有显示两百次图片,而是延迟了好几秒再显示,越到后面每次图片显示的间隔时间越长。

websocket调用JS函数的代码:


js函数部分代码:


求前端大佬解惑!
...全文
233 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 代码养家 的回复:
引用 4 楼 一只初窥门径的java程序员 的回复:
[quote=引用 3 楼 代码养家 的回复:] [quote=引用 2 楼 一只初窥门径的java程序员 的回复:] [quote=引用 1 楼 代码养家 的回复:] 给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了
刚刚看了下保存图片地址的变量,每次执行函数的时候确实还是上一次的值,应该是没有释放掉。内存占用是不是越来越大暂时没体现,不过CPU占用率是越来越大了。
每次调用完成后都释放一下,试着优化优化吧[/quote]刚刚又看了下,发现内存在后面确实越来越大了。我想手动解除引用,但是不知道具体怎么操作,手动解除引用是指把变量赋值为null吗?[/quote] 对,赋值为null后观察一下,看看有没有效果,另外,图片切换的时候有没有动画效果,动画效果性能也可以优化一下,这个也挺耗资源[/quote] 这个问题已经解决了,我是用layer弹层来显示图片的,频繁打开关闭弹层导致的内存增大,可能是layer没有释放以前的弹层.感谢大佬.
  • 打赏
  • 举报
回复
引用 3 楼 代码养家 的回复:
引用 2 楼 一只初窥门径的java程序员 的回复:
[quote=引用 1 楼 代码养家 的回复:] 给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了
刚刚看了下保存图片地址的变量,每次执行函数的时候确实还是上一次的值,应该是没有释放掉。内存占用是不是越来越大暂时没体现,不过CPU占用率是越来越大了。
每次调用完成后都释放一下,试着优化优化吧[/quote]刚刚又看了下,发现内存在后面确实越来越大了。我想手动解除引用,但是不知道具体怎么操作,手动解除引用是指把变量赋值为null吗?
  • 打赏
  • 举报
回复
引用 2 楼 一只初窥门径的java程序员 的回复:
引用 1 楼 代码养家 的回复:
给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了
刚刚看了下保存图片地址的变量,每次执行函数的时候确实还是上一次的值,应该是没有释放掉。内存占用是不是越来越大暂时没体现,不过CPU占用率是越来越大了。
每次调用完成后都释放一下,试着优化优化吧
  • 打赏
  • 举报
回复
引用 4 楼 一只初窥门径的java程序员 的回复:
引用 3 楼 代码养家 的回复:
[quote=引用 2 楼 一只初窥门径的java程序员 的回复:] [quote=引用 1 楼 代码养家 的回复:] 给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了
刚刚看了下保存图片地址的变量,每次执行函数的时候确实还是上一次的值,应该是没有释放掉。内存占用是不是越来越大暂时没体现,不过CPU占用率是越来越大了。
每次调用完成后都释放一下,试着优化优化吧[/quote]刚刚又看了下,发现内存在后面确实越来越大了。我想手动解除引用,但是不知道具体怎么操作,手动解除引用是指把变量赋值为null吗?[/quote] 对,赋值为null后观察一下,看看有没有效果,另外,图片切换的时候有没有动画效果,动画效果性能也可以优化一下,这个也挺耗资源
  • 打赏
  • 举报
回复
引用 1 楼 代码养家 的回复:
给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了
刚刚看了下保存图片地址的变量,每次执行函数的时候确实还是上一次的值,应该是没有释放掉。内存占用是不是越来越大暂时没体现,不过CPU占用率是越来越大了。
  • 打赏
  • 举报
回复
给这一点代码也看不出来啥,感觉可以看看内存的占用是不是越来越大,你应该看一下每次设置展示和隐藏图片的时候产生的变量或dom事件是否在函数执行完后释放掉了

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧