关于用phonegap 3.0+ 打包后sencha touch按钮点击切换动画延迟接近一秒的以及界面闪烁的解决方案

时间:2024-07-04 14:04:32

  android的webview对硬件加速的支持貌似很不理想,在开启硬件加速的情况下,css3这些需要调用硬件加速的样式会大幅拖慢html5的webapp,在htc的部分手机上还会因开启硬件加速而导致闪屏等现象。

  在phonegap 3.0之前,都是用户自己来配置AndroidMainifest.xml文件,可能都没注意到这一点,在phonegap 3.0+之后,phonegap项目的创建都是通过phonegap的command line指令来创建生成的,在生成的项目中,phonegap对项目默认开启了强制硬件加速,这时,sencha touch的项目中的带动画的页面切换时会调用系统的gpu进行计算来运行动画,此时的切换动画会变得相对平滑,但是随之而来的就是让人无法忍受的延迟。

  解决上述问题的一种方案就是关闭强制硬件加速,打开phonegap创建的项目中的AndroidMainfest.xml,你会发现在application跟mainfest标签上有个属性

  

android:hardwareAccelerated="true"

  将这两个标签的的属性修改为false,或者将其去掉,

  这时,系统会通过cpu来计算模拟动画,你会发现之前的延迟都消失了,

  在4核以上的cpu上性能提升明显,但部分动画的切换会没有之前流畅,不是非常明显,

  大家可以根据自己的实际情况来设置这一属性