在Android设备上不支持requestAnimationFrame

之前在移动端遇到的问题---用计时器写动画,会有一段时间后出现闪现的问题,刚开始还以为是计时器的问题,用css3写也同样出现问题。

那么问题又来了,到底是什么原因?有时候直觉还是挺对的,查了一下代码,感觉requestAnimationFrame有点不对劲,开始对它下手,搜罗了一下它的相关资料,还真有问题,安卓手机不兼容,哈哈,问题解决一大半了,那么接下来就是兼容处理了,兼容处理一般都是固定模式写法,没什么好解释的——>直接分享代码(就是这么干脆直接):(function() {

var lastTime
= 0;

var vendors
= [‘webkit‘, ‘moz‘];

for(var x =
0; x < vendors.length && !window.requestAnimationFrame;
++x) {

window.requestAnimationFrame = window[vendors[x] +
‘RequestAnimationFrame‘];

window.cancelAnimationFrame = window[vendors[x] +
‘CancelAnimationFrame‘]
||    //
(重点标注一下:)Webkit中此取消方法的名字变了

window[vendors[x] + ‘CancelRequestAnimationFrame‘];

}

if
(!window.requestAnimationFrame) {

window.requestAnimationFrame = function(callback, element) {

var currTime = new Date().getTime();

var timeToCall = Math.max(0, 16.7 - (currTime - lastTime));

var id = window.setTimeout(function() {

callback(currTime + timeToCall);

}, timeToCall);

lastTime = currTime + timeToCall;

return id;

};

}

if
(!window.cancelAnimationFrame) {

window.cancelAnimationFrame = function(id) {

clearTimeout(id);

};

}

}());

时间: 2024-08-01 11:21:25

在Android设备上不支持requestAnimationFrame的相关文章

一款Android设备上的智能路由器软件:手机服务站

现在智能电视和盒子的配置越来越高,体验越来越好,那么我们除了用它看看电视电影,打打游戏外,还能干什么呢?它占据着客厅的重要位置,是不是可以做点其他的事情? 例如: 1.用它代替无线路由器给我们的手持设备或笔记本共享网络可以吗? 2.能不能把它做成服务器,用来保存一些不方便或者不需要上传到网络云盘里的文件呢? 3.再或者我想建立一个私人的网站,记录家里的点点滴滴,这些,都可以吗? 4.就算以上都可以做,那我管理起来会不会不方便? 所以,在此向各位推荐一个Android软件来解决以上几个问题,而且还

Android设备上i-jetty环境的搭建-手机上的web服务器

本文主要跟大家分享如何将一台Android设备打造成一个web服务器使用. 编译i-jetty 1.将源码download下来,http://code.google.com/p/i-jetty/downloads/list 2.解压文件,进入pom.xml所在目录,执行命令:mvncleaninstall,参照(http://code.google.com/p/i-jetty/wiki/BuildInstructions) 执行过程中,出现了异常导致失败,是生成classes.dex时内存溢出的

(转)在ios android设备上使用 Protobuf (使用dll方式)

自:http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://game.ceeger.com/forum/read.php?tid=14359&fid=27 如果只能以.Net 2.0下运行,就可以继续往下看了. ============================================================= protobuf是go

在ios android设备上使用 Protobuf (使用dll方式)

http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://game.ceeger.com/forum/read.php?tid=14359&fid=27 如果只能以.Net 2.0下运行,就可以继续往下看了. ============================================================= protobuf是goog

查看Android设备上的分区信息

Android设备上,一般都会存在一块eMMC存储芯片来存放系统和用户数据,甚至部分的引导程序. 一般设备出厂时,各个厂商都会将这块存储芯片分成很多的分区,每个分区内存放不同的内容.具体分区的布局每个厂商或者芯片供应商都会不一样. 可以通过下面的命令来查看目前系统中到底有多少分区:(项目车机上) cat /proc/partitions 如果想知道每个挂载到文件系统上的分区大小和使用情况的信息,可以像普通Linux一样使用:df -h 不过df命令只显示了在文件系统上的挂载点,并没有显示对应的块

Android设备上opencv开发图像格式

Windows的图像格式和Android移动设备上的图像格式存在差异,使得处理存在一些问题!简单来讲 Camera得到的数据是:YUV,而在移动端设备上显示的数据又是:RGBA, 但是C++程序中处理的数据又是RGB.因此需要做数据的转换.具体的操作示意图如下:                                                             0. 使用前的准备. Camera的使用需要先在AndroidManifest.xml 文件当中加入camera的权

在android设备上添加thttpd及CGI

============问题描述============ 我想在android系统上添加一个WEB服务,可以使用pc机上的浏览器对于设备的一些参数进行设置.现在选定 httpd+CGI+Sqlite3.但是不知道怎样将httpd+CGI编译并加载到android系统上.请不吝赐教.谢谢. ============解决方案1============ 请问一下:移动端能使用CGI接口么 ============解决方案2============ 你app上设置设备的参数具体是设置什么参数呀,难道不需

如何通过Chrome远程调试android设备上的Web网站

网上的帖子很多,但很多都是老版本的,试过了,根本不管用,花了一天时间,终于在本机试验通过了,特记录下来,以备用.有需要的朋友也可以参考.先上一张图,看看PC端chrome上调试的效果: 左边是手机的模拟操作器,右边是大家熟悉的开发人员工具,也可以在手机上操作,PC端左边屏幕会同步到手机上的界面. 下面再说一下环境配置: 1.手机端,我手机是华为荣耀4,android4.4.4,很旧的手机了,大家别笑话,但不影响本次试验.安装chrome版本为58.0.3029.83: 2.PC端,win7 64

18、ESC/POS指令集在android设备上使用实例(通过socket)

网上关于通过android来操作打印机的例子太少了,为了方便更多的开发同仁,将近日所学分享一下. 我这边是通过android设备通过无线来对打印机(佳博58mm热敏式-58130iC)操作,实现餐厅小票的打印.写了一个简单的小demo,分享下. 前提: 1.android设备一个(coolPad8085N) 2.小票打印机(佳博 58mm热敏式打印机-58130IC) 这里将打印机IP设置为固定IP(这里略微复杂,是前辈设置过的,我没有具体操作,问了一下:打印机自检出的条子可以显示IP.通过自带