用多个"去掉"是否更快地使用单个布局文件进行充气? RecyclerView中的视图或多个布局

时间:2018-05-24 15:01:46

标签: android android-recyclerview

我正在创建一个简单的问答应用程序(将来)将支持在单个RecyclerView中显示大量不同的问题。

每个问题(目前)都有问题和答案部分。

每个列表项都有TextView的问题(以及其他一些装饰性内容)然后我必须添加答案部分。

我有两种方法可以解决。为我可以拥有的每种答案添加View(目前有12种类型的答案,例如文字,数字,滑块,日期,日期范围等)以及ViewHolder RecyclerView 1}}将所有未使用的视图设置为"消失"或创建12个不同的列表项布局(也将包含问题部分)并在viewType中传递不同的onCreateViewHolder方法将创建12个不同的ViewHolders之一,它将扩展一个抽象ViewHolder,它将处理常见的东西。

所以有人能告诉我这两种方法中哪一种更好?另外我关心的是速度(预计在某些时候这可能达到一千个列表项目)所以速度方面哪个更好?

1 个答案:

答案 0 :(得分:1)

明显创建不同的视图类型将更有效和良好的做法。并将使您的列表更顺畅。 (正如你所说,将有大量的项目)

理由是。

  • 视图只会呈现所需的视图。 (因为你已经为项目提供了类型。)因此在UI线程中需要更少的内存。
  • 如果在RecyclerView项目中包含所有视图,它们都将呈现(即使不可见)。
  • 请记住布局中的所有内容都有其类和方法。毫无疑问,最好渲染2个类而不是10个类。