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

时间:2013-09-29 13:33:06

标签: javascript performance testing

我正在为互联网速度测试应用程序工作。该网站正在使用JavaScript计算互联网速度。下载较大的文件250Mb +浏览器崩溃。 (Chrome,opera,Firefox)。它将所有测试文件保存到DOM。我看到在测试100Mbps +速度连接时,浏览器的内存使用情况就像疯了一样。

我的问题:有没有办法限制浏览器的内存使用量?或者使用浏览器DOM有任何限制? 使用文件后,是否将“未定义”实际从系统内存中删除该项?

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

1 个答案:

答案 0 :(得分:0)

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

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

这是因为您测试速度:您无需检查发送的数据是否与接收的数据相同,因为数据的完整性已经得到保证< / strong>由底层TCP / IP协议。

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