移动Safari / WebKit内存问题

时间:2016-02-05 20:25:34

标签: ios ajax html5 xmlhttprequest mobile-safari

我们正在编写一个HTML 5应用程序,需要加载大文件。

我们正在通过ajax加载二进制数据文件。该应用程序总是在iPad上崩溃。

在对MAC上的仪器进行进一步调查后,我们注意到在下载文件时,为webkit分配的内存呈指数增长,然后耗尽内存。 (100MB文件增加内存超过550MB然后浏览器崩溃)

我们测试了通过其他方法加载各种其他类型的文件,如Image obj,如下所示。

function testImage() {
        var download = new Image();
        download.src = 'data/33MB.jpg?n=' + new Date().getTime();
    }

在上述33MB图像加载后,Instruments会向我们显示内存已增长到309 MB。

Instruments panel

以下是一个示例XHR调用,其中包含大量二进制文件的相同结果。

function testXHR() {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'data/100MB.bin?n=' + new Date().getTime());
    xhr.send();
}

我们对发生的事情感到困惑。 我们如何在safari手机上加载大文件?

任何见解都将受到赞赏。提前谢谢。

0 个答案:

没有答案