我的View
中有多种RecyclerView
类型。我知道我需要写多个RecyclerView.ViewHolder
s。
我试图在不同的软件包中编写这些内容,以使整个项目组织更加清洁。
我知道在为ListView使用ViewHolder
模式时,ViewHolder
应该(必须/可以?)成为静态内部类。
ViewHolder
和RecyclerView
的{{1}}是否可以是非静态和非内部的,并且仍能保留其预期的性能优势?
答案 0 :(得分:2)
是即可。最佳做法是使用单独的非静态类为RecyclerView.ViewHolder
创建recyclerview适配器。好处是:
通过创建内部静态类和单独,对于其他相同
RecyclerView.ViewHolder
,它可以重复使用适配器。如果仅在单个适配器中使用
RecyclerView.ViewHolder
,则可以将其声明为适配器的内部类。
谈论效果:
根据GC performance hit for inner class vs. static nested class和recyclerview的优势:
使用
RecyclerView
时,它会回收实例视图,因此内存影响不是问题。静态的内存比另一个占用更少的内存。
我希望对你有所帮助。