0

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

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

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

4

1 回答 1

0

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

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

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

关于释放 javascript 内存:您可以为该变量分配另一个值 ( var = null;),并检查您是否持有对该变量的任何其他引用。然后它就有资格被垃圾收集:解释器可能会也可能不会释放它,这取决于它的实现——超出这一点,您无法控制它

于 2013-09-29T15:41:30.533 回答