Android自定义ArrayAdapter效率

时间:2014-08-18 10:54:12

标签: android xml android-arrayadapter layout-inflater

我实现了一个扩展ArrayAdapter的自定义适配器类。我试图通过使用ViewHolder方法尽可能提高效率,因为根据我的学习,在适配器的getView(...)方法中执行的xml通胀是一个相当复杂的过程,应该尽可能少地完成时间尽可能多。

考虑到这一点,这是我的情景:

我有一个ListView,其中有6个可能的项目可以显示在列表中。所有6个项目看起来都很相似,它们的不同之处在于它们具有不同的图标,不同的文本,并且可能在项目本身中显示其他图像/图标。

每次调用适配器的getView(...)方法时,我只会根据我正在处理的项目更改图标,文本并使某些元素可见/不可见,但我只会膨胀一个xml文件 - 并且这只做了一次。

我的问题如下:

我目前的方法是否比制作6个单独的xml项目布局效率低,只对这6个项目中的每个项目进行一次充气,然后为每个项目回收这些视图。这意味着每次调用getView(...)时都不再需要调用setVisibility(...),setImageResource(...)等方法,但我现在为每个项类型为xml充气一次(6次通胀而非一次)。

我的直觉告诉我,仅仅通过膨胀一个xml布局而获得的效率提升可能会被我在getView(...)中进行的所有setImageResource(...)调用所抵消。我是对的吗?

我知道这是一个相当具体的问题,但我觉得任何答案都会帮助我更好地理解Android中的自定义适配器,我感谢任何反馈。

0 个答案:

没有答案