图像无法在phonegap上正确加载

时间:2015-03-21 10:47:16

标签: javascript android cordova

我遇到image.onload时遇到问题。 我正在做的是获取路径列表并希望将它们转换为Base64

var img = new Image();
img.setAttribute('crossOrigin', 'anonymous');
img.onload = function() {
    console.log("image done loading");
    var canvas = document.createElement('canvas'),
        width = img.width,
        height = img.height;
    if (width > height) {
        if (width > maxSize) {
            height *= maxSize / width;
            width = maxSize;
        }
    } else {
        if (height > maxSize) {
            width *= maxSize / height;
            height = maxSize;
        }
    }
    canvas.width = width;
    canvas.height = height;
    canvas.getContext('2d').drawImage(img, 0, 0, width, height);
    var dataURL = canvas.toDataURL("image/jpg", 0.8);
    callback(imageObj, dataURL.replace(/^data:image\/(png|jpg);base64,/, ""));
};
img.src = URL;  

现在这在我的电脑上工作正常,但在我的手机Galaxy2(Android 4.1)上,它只能成功上传10张照片然后停止。 我也在Android 4.4上检查了它,作为例外工作。

我将图片添加到HTML中以查看图片是否真的正在加载, 只有一半的图像正确加载。 它看起来像onload事件停止触发。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

最终我解决了这个问题, 我试图同时加载100多张图像。

什么hapend是关于更多ram应用程序的新手机,因为它有足够的空间来保存图像,另一方面在旧手机上,当ram用完因错误而无法加载图像< / p>

所以我改变了我的代码,他将同时加载一个图像