我有一个HorizontalGridView的活动,其中每个小区显示一个BaseCardView。用户可以切换我的活动并执行一个操作,该操作会向列表中添加一张卡。现在,当用户返回活动时,有时新添加的卡片不可见!从代码中检查视图层次结构显示所有元素都已正确创建并且已就位,但是当我执行“转储视图层次结构”时,没有在该位置绘制视图!
我发现问题在于硬件加速。如上所述here:
问题通常表现为无形元素, 异常或错误渲染的像素。
因此,如果我在整个应用程序中关闭硬件加速,则会正确绘制视图,否则不会。我还尝试仅在View或最多活动级别关闭HA,但问题仍然存在。
现在的问题是我无法关闭硬件加速,它会严重影响应用程序的性能。关闭HA会使所有动画渲染效果不佳,并且帧丢失变得非常明显。
任何想法我如何强制这个视图重绘自己,同时保持HA?
感谢,
PS:这个应用程序适用于OEM,因此我并不担心它在其他设备/手机上的行为,因为它只会安装在一种类型的设备上,并且必须在该设备上运行良好仅