我正在使用gridview中的动画,发现hasStableIds()
被覆盖并返回true
以维护项目的稳定ID。我想知道这会如何影响我的网格视图的性能?这是否增加了为每个项目保持稳定ID的额外开销?
答案 0 :(得分:2)
简而言之:不。
GridView
不负责选择ID,因此这里没有任何开销。 ID由数据源提供。在true
中返回hasStableIds()
不是请求稳定ID的方法,而是告诉GridView
您提供所述稳定性
所以开销(如果有的话)在代码检索数据中。 在典型情况下(从数据库中提取),默认情况下ID是持久的。
那么为什么GridView
关心ID的稳定性呢?做一些可能实际改善性能的有趣技巧:
CHOICE_MODE_SINGLE
,则可以返回已检查ID的数组,从而使您无需将位置重新映射到ID。