包含列表的CardView列表。 LinearLayout还是RecyclerView?

时间:2018-01-06 03:23:38

标签: android android-layout android-recyclerview android-cardview

我正在尝试创建下面的布局。

布局包含3-4张卡片视图。其中两个卡片视图将是0到6个项目之间的短列表。

我想知道,因为所有的卡都不同,如果在LinearLayout上使用RecyclerView有任何好处,那么它们就很少了。

在我看来,由于卡片都是异构的,因此RecyclerView无法回收任何视图。或者我错过了什么?

Layout wireframe

2 个答案:

答案 0 :(得分:1)

  

在我看来,因为那些牌都是异类的   不会是RecyclerView可以回收的任何观点。

您绝对正确 - 您可以通过填写其他ViewHolders项目数据来重复使用观看次数(RecyclerView),从中获利。

您显示/描述的布局不是集合的典型示例,它看起来非常简单(轻量级),因此在您的情况下,没有必要实现RecyclerView及其Adapter

  

我很想知道因为所有的卡都不同而且很少   如果使用RecyclerView比使用RecyclerView有任何好处   的LinearLayout。

如果您的商品是RecyclerView,请问自己是否会考虑FrameLayouts?总而言之,CardView只是FrameLayout,有一些装饰:)

我个人会使用ScrollView + LinearLayout。这种方法实施起来更快,更易于维护。

我也同意 @Ben P。所写的内容 - 如果最简单的解决方案适合您的需求,则没有必要对其进行优化。

答案 1 :(得分:0)

你遗漏了一件大事内存消耗,在 RecyclerView 屏幕中需要更少的内存,因为只有可见的视图在内存中。在 LinearLayout 中,您将始终需要内存中的所有视图,意味着更多堆内存。 您的应用使用的内存越多,就越容易出现 GC周期,这会导致 jankyness或缓慢的应用行为。