1

我在RecyclerView中有多个View类型。我知道我需要写多个RecyclerView.ViewHolder s。我的RecyclerView.ViewHolder可以是一个非静态的外部类吗?

我正试图在不同的软件包中编写这些文件,以使整个项目组织更加清洁。

我知道在使用ListView的ViewHolder模式时,ViewHolder应该(必须/可以吗?)成为静态内部类。

ViewHolderRecyclerViewListView是否可以是非静态的并且不是内在的,并且仍然保留它们预期的性能优势?

回答

2

:这是使用单独的非静态RecyclerView.ViewHolder来了解创建recyclerview适配器最佳实践。

  • 通过创建内静态类和分开,它是在相同RecyclerView.ViewHolder对于其它适配器的情况下可重复使用。

  • 如果仅在单个适配器中使用RecyclerView.ViewHolder,则可以将其声明为适配器的内部类。

性能

GC performance hit for inner class vs. static nested class和优势recyclerview的:

在使用RecyclerView,它的回收情况viewholder,所以内存的影响不是问题。静态的会比另一个占用更少的内存。

thisthis好的答案是得到更多的想法。

我希望这是对你的帮助。

相关问题