javascript - 图像无法在phonegap上正确加载

标签 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 事件停止触发。

有什么建议吗?

最佳答案

终于解决了这个问题, 我尝试以这种方式同时加载 100 多个图像。

发生的情况是,在具有更多内存的新手机上,应用程序可以运行,因为它有足够的空间来保存图像,另一方面,在旧手机上,当内存耗尽时,会因为无法加载图像而引发错误

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

关于javascript - 图像无法在phonegap上正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29181809/

相关文章:

javascript - 错误 : "Uncaught TypeError: Cannot read property ' length' of null"Chart. js

javascript - 手动解雇 domContentLoaded

java - 创建新 Activity 错误: RED SQUIGGLYS EVERYWHERE

java - 如何构建我的 Android Studio 项目以避免在运行集成了单元测试的应用程序时出现编译问题

android - phonegap 3 android 后退按钮不起作用

android - 如何使用 evothings phonegap 插件从 Polar 设备读取心率值

javascript - 添加material-ui/core/Table 会导致数据异常,即使它尚未链接

Javascript document.getElementById 问题

android - 滑动抽屉位置在调整高度时发生变化

ios - iOS 上的 PhoneGap 条码扫描仪无响应