Android ViewHolder是如何工作的?

Android ViewHolder是如何工作的?,android,kotlin,Android,Kotlin,适配器如何与viewholder交互:viewholder是传递给适配器的数据在RecyclerView中的外观模板吗?换句话说,viewholder正在处理RecyclerView的显示端,如何格式化数据?viewholder是一种帮助类,帮助我们为要在屏幕上绘制的单个项目绘制UI 参考: 那么,假设我们有100个项目显示在列表上,我们想在屏幕上显示5个项目 此处的每个项目中都有一个TextView和一个ImageView 因此,对于100个元素,如果没有recyclerView,我们将需要1

适配器如何与viewholder交互:viewholder是传递给适配器的数据在RecyclerView中的外观模板吗?换句话说,viewholder正在处理RecyclerView的显示端,如何格式化数据?

viewholder是一种帮助类,帮助我们为要在屏幕上绘制的单个项目绘制UI

参考:

那么,假设我们有100个项目显示在列表上,我们想在屏幕上显示5个项目

此处的每个项目中都有一个TextView和一个ImageView

因此,对于100个元素,如果没有recyclerView,我们将需要100x2个FindViewById

因此,当我们使用RecyclerView时,最初只创建了6个项目,其中5个一次加载显示在屏幕上,一个是要加载的项目

现在,如果我们滚动列表,那么我们有7个视图持有者。报废视图和待加载视图各一个,显示视图各5个

因此,一次,我们使用的最大FindViewById只有14个,因为我们最多有7个ViewHolder

这种高效的管理使得ViewHolder inside recyclerView如此高效