我有一个 CardView 列表,每个 CardView 都有一个标题和一个图标。单击每个项目后,将打开一个 Activity ,其中包含该卡片的详细信息。
我认为我需要的项目不会超过几个(我认为不会超过 10 个),而且我不确定它们会有多大的活力和变化。
我的问题是:我应该使用 RecyclerView
来显示这些项目,还是应该复制卡片并在没有 RecyclerView 的情况下在
? LinearLayout
中显示它们
就性能而言,哪个选项更好?
最佳答案
两个选项都应该没问题(我没有测试性能,但都运行正常),尽管我更喜欢 Linearlayout
。由于列表很小,您会失去 RecyclerView
的大部分优势(性能方面)。
如果您决定使用LinearLayout
,您可以创建一个Compound control并将其重复用于不同的项目,这样您就不必在发生变化时手动编辑每个项目。
如果您决定使用 RecyclerView,请不要忘记调用 setItemViewCacheSize()
并将其设置为合理的数量(项目的数量),因为对于很少的项目,它每次滚动时都需要重新填充项目是没有意义的。这对于较大的列表是有意义的,因为您无法有效地处理那么多项目,但对于 cca 10 个项目,如果将它们全部缓存,似乎会更快。您还应该做的下一件事是在 RecyclerView 上调用 setHasFixedSize(true)
。如果您不需要嵌套滚动,也请调用 setNestedScrollingEnabled(false)
,否则滚动的行为可能会有点奇怪(如果您快速滑动,则不会出现“快速/持续滚动”)。
希望这有帮助。
关于java - Android Recyclerview 的一些项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39201778/