【问题标题】:Rendering glitches with Angular/Phonegap + CSS Transitions on Nexus 4在 Nexus 4 上使用 Angular/Phonegap + CSS 过渡渲染故障
【发布时间】:2014-05-23 03:36:11
【问题描述】:

我正在开发一个使用 Angular 1.0.8 和 Cordova 3.1 构建的应用程序,以支持 iOS 和 Android。由于某些信息是专有信息,因此我给出了一般性描述,但希望它足以解释。

我正在努力修复我们看到的一个错误,其中包含使用(使用 chart.js)构建的图表的一个页面在 Nexus 4 上无法正确呈现。我们拥有的测试设备运行的是 Android 4.2.2 ,尽管在其他 Nexus 4 设备上也发现了该错误;但不适用于其他 Android 设备。该图表将显示两次,其中一个图表与另一个重叠,或者根本无法显示。无论哪种方式,打开和关闭我们的导航菜单(这是一个使用 JS 和 CSS3 translate3d 和转换为函数的画布外菜单)似乎会重置视图并且图表正确显示。

我已经为整个应用逐步添加/删除了 CSS,但仍然无法确定究竟是什么导致了这个渲染问题。如果我从页面上的其他元素(不是包含相关图表的元素)中删除位置:相对、宽度声明和浮点声明,那么图表似乎可以正确显示;但是,这不是一个可行的解决方案。

我做过的事情:

  • 在我们的清单文件中设置 android:hardwareAccelerated="true"
  • 删除了典型的有问题的 CSS 属性(box-shadows、border-radius、transitions 和 translate3d 等);问题仍然存在
  • 尝试了几种已知的有助于解决与 CSS 过渡相关的闪烁的方法,例如 -webkit-backface-visibility: none、-webkit-perspective: 1000、-webkit-transform-style: preserve3d 等。没有人解决这个问题。

我在整个应用程序中看到了其他渲染故障,这些故障已通过上述调整得到解决;但是,图表渲染问题仍然不受影响。

同样,这只发生在 Nexus 4 上。不幸的是,它是我需要支持的设备,而且这个错误会造成大量的 UI 块;用户无法读取图表数据。

在这一点上,我什至不太确定我的故障排除工作应该集中在哪里。任何帮助,任何建议,都将不胜感激;希望有人提到一些有助于澄清此设备上正在发生的事情的内容。提前致谢。

【问题讨论】:

    标签: android angularjs cordova html5-canvas


    【解决方案1】:

    最终根据此线程中的 cmets 找到了我的答案:code.google.com/p/android/issues/detail?id=35474。 (与 Android 在 >4 版本中渲染画布元素相关的错误。溢出:隐藏在画布元素的所有父项上似乎在很多情况下都可以修复它,但这对我来说不是一个选项,所以我不得不使用 #41(在渲染前后调整元素不透明度)。终于修复了这个bug。

    【讨论】:

      猜你喜欢
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 1970-01-01
      • 2016-01-09
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多