我在Android平台(版本为2.3.3及以上)使用PhoneGap 2.2.0和jQuery Mobile 1.2.0创建应用程序。在页面上,我使用固定头部,但没有任何转换效果。其余部分基本上是标准的jQuery。
当我从一个页面导航到另一个页面时,整个页面会出现白色闪烁,持续很短的时间。我在网上搜索了几个小时,但没有找到解决方法。
以下方法都失败了:
- 尝试了互联网上发现的各种CSS技巧(例如:https://github.com/jquery/jquery-mobile/issues/4024和https://groups.google.com/forum/?fromgroups=#!topic/phonegap/EtZ2KwseKQ0和Flickering when navigating between pages)。
- 尝试关闭固定头部(再次说明,我没有使用转换效果)。
- 尝试了jQuery Mobile 1.3.1。(也没什么用)
- 我没有尝试的一件事是PhoneGap 2.3.0,但是我在更新日志中没有看到任何有趣的内容。编辑:PhoneGap 2.5.0上的问题仍然存在。
当我在Android项目中关闭硬件加速时,闪烁就消失了。但是这将导致一些CSS样式错误,并且整体性能非常差(显然)。
我现在也尝试了下面的代码。
ui.page {
-webkit-transform: translateZ(0);
-webkit-perspective:1000;
-webkit-backface-visibility: hidden;
}
很遗憾还是没有运气。
也尝试了这个:https://github.com/watusi/jquery.mobile.simultaneous-transitions
但在转换之前仍会有一个简短的(全白页面)闪烁。实际上,它似乎与页面本身的动画转换无关,而是发生在卸载旧页面和加载新页面之间的某些奇怪问题。
更新 25-04-2013: 还尝试过: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/EtZ2KwseKQ0 https://github.com/jquery/jquery-mobile/issues/4024 https://github.com/jquery/jquery-mobile/pull/4129 唯一能消除闪烁的方法是删除fixedheader部分。这时非常顺畅,但我错过了与面板兼容的标题。
还尝试了1页模板(所有页面都在一个文件中)。也没帮助。
jQuery Mobile 1.3.1 PhoneGap 2.5.0 Android 4+ 设备: - Google Samsung Galaxy Nexus - Samsung Galaxy Tab 10.1(遇到了问题,但是已经没有这个设备了) - Samsung Galaxy Note 10.1
我现在在Github上提交了一个问题:https://github.com/jquery/jquery-mobile/issues/6031