gpt4 book ai didi

javascript - 最佳实践 : very long running polling processes in Javascript?

转载 作者:行者123 更新时间:2023-11-29 22:25:21 24 4
gpt4 key购买 nike

我有一个正在开发的触摸屏信息亭应用程序,它将部署在最新版本的 Chrome 上。

应用程序需要每 10 分钟左右对 Web 服务进行一次 AJAX 调用,以获取任何更新的内容。

因为它是一个信息亭应用程序,所以页面不太可能经常重新加载,理论上,除非信息亭关闭,否则该应用程序可以一次运行数天。

我想我担心的是内存使用情况,如果有足够的时间,运行很长时间的 setTimeout 循环是否会消耗大量内存。

我目前正在考虑使用 Web Worker,我也打算研究 Web Sockets,但我想知道是否有人对这类事情有任何经验?

干杯,特里

最佳答案

浏览器有一个垃圾收集器,所以没有问题。只要您不通过错误代码引入内存泄漏。这是an articleanother article关于内存泄漏模式。这应该让您开始了解如何高效地编程,并解决那些有漏洞的代码。

此外,您还必须考虑 DOM。 SO 中的一个人曾经说过“不在屏幕上的东西应该被删除,而不仅仅是隐藏”——这不仅从查看 Angular 删除实体,而且实际上从 DOM 中删除它,删除它的处理程序,以及它的内存使用的将被释放。

至于setTimeout,延长调用间隔。太快了,您快速消耗内存(并使页面相当...滞后)。我刚刚测试了基于计时器的“hashchange”检测代码,即使在 chrome 上,它也确实使页面相当慢。

研究chrome的bug并保持更新。

关于javascript - 最佳实践 : very long running polling processes in Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9820220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com