在Android listview上覆盖baseadapter时,必须实现此方法public View getView(int position, View convertView, ViewGroup parent)
。 convertview是以前在滚动时从列表中删除的视图,它被赋予以便您可以重用该视图而不是创建新视图。
我的问题是,是否真的有必要重用视图?如果只更改了一段数据,我可以理解重用它。但创建视图的开销真的很重要吗?关于使用我见过的列表视图的每个教程都会告诉您回收视图,即使是像文本视图这样简单的简单视图。
我想我的问题是Google为什么决定将此作为getView
方法的默认行为?
答案 0 :(得分:13)
回收视图的几个原因:
答案 1 :(得分:7)
有必要吗?只有当您在Nexus One上的平移期间需要额外的30-40 fps时。 :)(参见http://code.google.com/events/io/2010/sessions/world-of-listview-android.html幻灯片,幻灯片13-17)
为什么要忽略95%为您完成的重大优化,让设备能够正常工作?