适用于Android上不同孩子的ScrollView与RecyclerView

适用于Android上不同孩子的ScrollView与RecyclerView,第1张

概述我有10-15个自定义视图和片段的混合,以垂直列表显示.我不确定RecyclerView在所有视图不同的情况下是否有任何优势. RecyclerView似乎增加了很多样板代码,我认为我唯一的优势就是更容易进入/退出动画. 我的自定义视图/片段也会在创建时调用Web服务.我们不会出于业务原因缓存Web请求.我的理解是RecyclerView会在每个绑定上触发这些Web服务调用,从而导致冗余调用和可见 我有10-15个自定义视图和片段的混合,以垂直列表显示.我不确定RecyclerVIEw在所有视图不同的情况下是否有任何优势. RecyclerVIEw似乎增加了很多样板代码,我认为我唯一的优势就是更容易进入/退出动画.

我的自定义视图/片段也会在创建时调用Web服务.我们不会出于业务原因缓存Web请求.我的理解是RecyclerVIEw会在每个绑定上触发这些Web服务调用,从而导致冗余调用和可见延迟.相比之下,ScrollVIEw应该加载一次视图,并将它们全部保存在内存中,避免多次调用.

我的理解是否正确?在给定的场景中,我需要一些帮助来理解ScrollVIEws对性能的影响.

解决方法 滚动型

使用ScrollVIEw,无论屏幕上的可见性如何,都将立即创建其所有子视图.如果使用ScrollVIEw作为您的解决方案,您可能希望“监听”其子视图何时可见以更新其内容,最初使用占位符.您还可以构建一些可以在后台线程中获取内容的内容.这可能会比你想要的更复杂.

RecyclerVIEw

RecyclerVIEw提供了延迟创建子视图直到它们自动可见的优点,并且可以重复使用具有公共布局的子视图.

通过为每个孩子使用不同的“项目视图类型”,您将禁用RecyclerVIEw的“回收”部分,但仍然可以推迟创建视图,直到它们滚动到视图中.

RecyclerVIEws提供了一个结构合理的模式,供您通过Adapter和VIEwHolders使用.虽然不熟悉它,但RecyclerVIEw还有一个RecyclerVIEw.VIEwCacheExtension,旨在让开发人员控制视图的缓存.

总的来说,后期绑定的优势(不创建和加载可能永远不会被查看的视图)以及RecyclerVIEw的灵活性可能会为您带来良好的结果.

总结

以上是内存溢出为你收集整理的适用于Android上不同孩子的ScrollView与RecyclerView全部内容,希望文章能够帮你解决适用于Android上不同孩子的ScrollView与RecyclerView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1137287.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存