class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bindata(text: SingleText){
itemView.title.text = text.title
itemView.desc.text = text.desc
}
}
像这样的代码,Kotlin在android-extensions中有任何缓存?在ViewHolder中的kotlin-android-extensions
当我反编译字节码科特林
public final void bindata(@NotNull SingleText text) {
Intrinsics.checkParameterIsNotNull(text, "text");
((AppCompatTextView)this.itemView.findViewById(id.title)).setText((CharSequence)text.getTitle());
((AppCompatTextView)this.itemView.findViewById(id.desc)).setText((CharSequence)text.getDesc());
}
它意味着当我在Adapter.onBindViewHolder(),它将被称为findViewById每次
这显著增加的性能的损失称为binData,并且它确实未达到布局重用的目的
Kotlin在ViewHolder的android-extensions中有任何缓存逻辑?
'findViewById'找到已经创建的视图。这意味着你正在重复使用它。没有性能问题,你正在谈论。 – chandil03