2016-08-27 111 views
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好的答案是得到更多的想法。

我希望這是對你的幫助。

相關問題