Javascript - 加载GIF冻结,同时将图像绘制到画布(Phonegap/Cordova)
Javascript - loading GIF freezed while drawing image to canvas (Phonegap/Cordova)
当我将图像绘制到画布时,加载 gif 不会在 phonegap/cordova 上制作动画,代码如下所示:
.hide{
display:none;
}
.absolute{
position:absolute;
}
<div id="loading" class="hide absolute">
<img src="loading.gif"/>
</div>
var drawCanvas = function (img) {
var element = document.getElementById('loading')
canvas = document.getElementById('canvas')
context = canvas.getContext('2d');
element.classList.remove('hide');
setTimeout(function () {
context.drawImage(img,0,0);
}, 0);
element.classList.add('hide');
};
我还尝试用 css 动画替换动画 gif,但它完全相同,浏览器在绘制画布时拒绝对任何内容进行动画
处理任何帮助表示赞赏
注意:它不是发生在台式机上,而是只发生在Cordova/Phonegap上,我想原因是移动设备上缺乏硬件性能(在Android平板电脑4.1上测试)
尝试增加延迟。延迟 0 并没有多大帮助,因为没有足够的时间让某些浏览器执行其他任何操作。给一个框架左右。还要从回调内部继续,因为它是异步的:
setTimeout(function () {
context.drawImage(img,0,0);
element.classList.add('hide'); // you'll probably like this to be here
}, 17); // 17ms ~16.667ms as one frame takes @ 60 fps
相关文章:
- 建立phonegap/cordova iOS p2p视频聊天
- Phonegap/Cordova:如何添加Javascript多点触摸事件
- 如何用javascript,phonegap(cordova)将json对象插入sqlite表中
- phoneGap/Cordova插件加载顺序/交易w/AdBlock
- PhoneGap Cordova媒体插件 - 如何集成/安装
- PhoneGap/Cordova 日历 iOS 插件不发送信息
- Phonegap/Cordova中的可滚动文本区域
- 基于Swift项目的PhoneGap/Cordova应用程序
- Phonegap/Cordova getDirectory在BlackBerry上失败
- PhoneGap(Cordova)应用程序加载谷歌图表API时崩溃
- PhoneGap/Cordova TabBar插件和所选页面
- PhoneGap/Cordova在睡眠时中断下载,如何防止
- SQLite:从Phonegap/Cordova中的(文本)日期字段中选择日期和时间
- 安装 Phonegap/Cordova 3.1 插件(条形码扫描仪)
- Phonegap (Cordova 2.9.0) iOS 上的地理位置
- Phonegap/Cordova 3.1 由于页面加载而重置插件
- Phonegap/Cordova - 套接字插件最终为:undefined 不是 cordova.js 中的函数
- Phonegap/Cordova facebook 登录在已经连接时不起作用
- Javascript - 加载GIF冻结,同时将图像绘制到画布(Phonegap/Cordova)
- PhoneGap Cordova 3.1.0 inAppBrowser EventListener not workin