PhoneGap和Galaxy s4渲染问题

时间:2013-08-29 07:15:21

标签: android cordova galaxy

我在使用PhoneGap时在GS4设备上遇到了一个奇怪的问题,我的网页应用程序的某些元素在页面呈现时无法正常显示,但是一旦单击或按下该页面,元素就会正确布局。  在我的应用程序中翻译事件之前,偶尔会出现一个闪烁的白色窗口。

这个问题只在GS4上产生,而且当我在GS4,Note或iPhone等其他手机上试用时,从未累积过。

4 个答案:

答案 0 :(得分:5)

这些元素是否是动态生成的? 我也有同样的问题,我想,它实际上需要一些硬件加速(GPU加速)。我们应该通过css启用3d渲染。 只需使用

transform: translateZ(0);

表示特定元素。 这对我有用,尝试一下,可能适合你。

请检查此link

答案 1 :(得分:2)

问题简而言之:android。根据GS4运行的版本,Web浏览器的行为不同,会产生不同的问题。 IE我做了一个手机应用程序,工作正常,然后在软糖中不工作。不用说我现在开始了。但是,在元素中使用translate和3d变换会导致所有元素都使用硬件加速重绘,如果元素在DOM中动态注入,则强制重绘元素

答案 2 :(得分:1)

尝试使用其他元素进行操作,例如:

$('#footer').fadeTo(1,0.99,function(){
   $('#footer').fadeTo(1,1);
});

答案 3 :(得分:1)

我遇到类似银河趋势的问题(android 4.0.4):页面中的某些更改没有正确显示(重绘某些元素,隐藏/显示其他元素),直到我点击屏幕,而它完美地工作我测试过的任何其他设备(从android 2.3到4.4)。

我已经测试了堆栈溢出和其他地方发现的许多补丁:在css中添加transcate3d,查询元素宽度......没有任何效果;

只有当我添加$myPage.find("[data-role=footer]").hide(0).show(0);时,我的页面最终才会在星系趋势中正确呈现。

在我的情况下,我认为它有效,因为它强制重写页脚,我隐藏/显示的元素位于页脚中。

在你的情况下,或许强制隐藏/显示其他元素会有所帮助吗?