RecyclerView 与以编程方式创建的视图:哪个更好?

Posted

技术标签:

【中文标题】RecyclerView 与以编程方式创建的视图:哪个更好?【英文标题】:RecyclerView vs Programmatically Created Views: Which one is better? 【发布时间】:2019-06-04 07:50:14 【问题描述】:

我想列出我从 firebase 数据库中提取的项目。我为此使用了 RecyclerView,但现在我知道我们可以通过编程方式创建按钮、TextView 等。我想知道 recyclerview 是否有任何好处,或者在任何特殊情况下最好使用 recyclerview。

【问题讨论】:

您可能缺乏有关 RecyclerView 工作原理的信息。很可能任何有关 RecyclerView 的课程都说明了它的好处。 @VladyslavMatviienko 你是对的。这就是我来这里的原因。你能建议一些资源来获得更多关于这方面的知识吗?这真的很有帮助。 这是完全错误的地方要求一个教程。用 google 找一个,你找到的那个有 99% 的几率会解释 recyclerview 的好处。 我问了一个疑问,你告诉我我缺乏关于 RecyclerView 的信息。这就是为什么我问你是否有任何可靠的消息来源。我知道我不应该问,但你看起来像一个知识渊博的人,所以我要求一些建议。对此感到抱歉。 【参考方案1】:

使用 RecyclerView,它的内存效率很高。它会在可见时创建视图,并在不再可见时将其销毁,这样您就可以拥有无​​限列表而无需使用大量资源。

【讨论】:

确切地说,当视图不可见时,它不会破坏视图。它正在将它们重用于可见项目。 所以如果我有一个小清单,那么使用这两种方法中的任何一种都可以吗? 你永远不知道你的列表什么时候变大,总是使用 RecyclerView 而忘记 ListView :)【参考方案2】:

动态维护视图不是坏事,但是在做出决定之前您需要了解回收器视图的完整概念,因为有很多方面取决于您何时决定使用任何组件

关键方面, - 为什么要使用视图? - 它是连续的吗? - 列表中的所有数据都是同一类型? - 另外,如果列表中只有两条记录,则列表中有多少条记录,则无需进行recyclerview。

recyclerview 最终是优化的视图,用于将项目作为列表列出, 另外,我们建议如果您的大多数数据类型相同,那么请不要动态地使用 recyclerview,因为名称自己说明了回收器视图(Recycle)将如何工作

【讨论】:

这正是我想要的。谢谢!!

以上是关于RecyclerView 与以编程方式创建的视图:哪个更好?的主要内容,如果未能解决你的问题,请参考以下文章

dojo中以编程方式与以声明方式创建的小部件之间的区别?

Gatsby-plugin-image 与以编程方式创建的页面问题

以编程方式添加视图与使用 recyclerView 有啥区别?

Recyclerview 以编程方式设置背景颜色

以编程方式向 recyclerview 添加新项目?

出现键盘时以编程方式更新约束