通过使用JavaScript“未定义”(变量),我们可以释放系统内存

By Using JavaScript "Undefined" (Variable) we can Free system memory?

本文关键字:未定义 我们 内存 系统 释放 JavaScript 变量      更新时间:2023-09-26

我正在为一个互联网速度测试应用程序工作。 该网站正在使用JavaScript计算互联网速度。下载较大的文件时 250Mb+ 浏览器崩溃。(铬,歌剧,火狐(。它将所有测试文件保存到 DOM。我看到浏览器的内存使用量在测试100Mbps +速度连接时疯狂上升。

我的问题:有没有办法限制浏览器的内存使用?或者使用浏览器 DOM 有任何限制?使用文件后,将其设置为"未定义"实际上会从系统内存中删除该项目吗?

下载 250Mb + 数据后,我看到了此浏览器崩溃问题(下一个文件 250 Mb,因此 512mb 保存在 DOM 中(

您不需要特定数据来测试网络速度。重要的是数据的大小(此处为 250 MB(。此外,为了确保您正在测试实际速度,还有一个额外的要求,即不使用琐碎的数据(即,不使用全零或快速重复的模式(。

您可以生成 1 MB 的随机数据(或任何不会使应用程序崩溃的数据量(并发送 250 次:服务器仍然可以看到 250mb 的数据,并且您不需要存储任何内容(除了那 1 MB(。

这是有效的,因为您正在测试速度:您无需检查发送的数据是否与接收的数据相同,因为底层TCP/IP协议已经保证了数据的完整性

关于释放javascript内存:你可以做的是给变量分配另一个值(var = null;(,并检查你没有持有对该变量的任何其他引用。然后它有资格被垃圾回收:解释器可能会也可能不会释放它,这取决于它的实现——除此之外,你无法控制它