我正在实现自定义布局。这是一个异构网格,看起来像下面的网格,除了瓷砖将是带有一些文本的图像。此外,它具有动画效果 - 每次更改基础数据(添加、删除、重新排序项目)时,都会有一个动画,每个图块都会移动到它的新位置。这非常有效。
整件事都在一个ScrollView
. 当用户启动应用程序时,会出现一些磁贴(最多 20 个)。当他到达卷轴的底部时,会加载新的图块。瓷砖是RelativeLayouts
。
我的问题涉及观点的回收。接受多个子视图的典型布局,例如ListView
或GridView
具有回收机制。在滚动时,当视图不可见时,它会被回收,并在用户再次看到它时返回。
我需要实现这样的行为吗?如果我不这样做会发生什么?是否有可能实现它,因为当新数据到达时,我可能必须将子视图(以及那些不会在布局的可见部分中的子视图)动画到它们的新位置。
或者也许我应该在位图位于可见区域之外时回收它们?这可能是我可以达到 OutOfMemory 的地方,不是吗?