在Android中使用硬件加速时缺少视图

时间:2015-04-15 20:32:47

标签: android rendering android-custom-view hardware-acceleration

我有一个HorizontalGridView的活动,其中每个小区显示一个BaseCardView。用户可以切换我的活动并执行一个操作,该操作会向列表中添加一张卡。现在,当用户返回活动时,有时新添加的卡片不可见!从代码中检查视图层次结构显示所有元素都已正确创建并且已就位,但是当我执行“转储视图层次结构”时,没有在该位置绘制视图!

我发现问题在于硬件加速。如上所述here

  

问题通常表现为无形元素,   异常或错误渲染的像素。

因此,如果我在整个应用程序中关闭硬件加速,则会正确绘制视图,否则不会。我还尝试仅在View或最多活动级别关闭HA,但问题仍然存在。

现在的问题是我无法关闭硬件加速,它会严重影响应用程序的性能。关闭HA会使所有动画渲染效果不佳,并且帧丢失变得非常明显。

任何想法我如何强制这个视图重绘自己,同时保持HA?

感谢,

PS:这个应用程序适用于OEM,因此我并不担心它在其他设备/手机上的行为,因为它只会安装在一种类型的设备上,并且必须在该设备上运行良好仅

0 个答案:

没有答案