使用 ListView-Adapter 预加载更多视图
Posted
技术标签:
【中文标题】使用 ListView-Adapter 预加载更多视图【英文标题】:Preload more Views using a ListView-Adapter 【发布时间】:2014-04-23 08:30:19 【问题描述】:如果我理解正确,ListView-Adapter 会再加载 1 个视图,然后在屏幕上当前可见。让我们说视图 1 到 5,加上不可见但预加载的视图 6。如果用户向下滚动,视图 1 将被关闭并显示视图 6。我想知道如何预加载更多视图,例如示例中的视图 6,而不是只有一个视图,例如三个视图。 我希望通过增加 preloaded-view-count 给 ListView 项目更多的时间来计算视图/获得更流畅的滚动体验。
由于相关关键词的主题太多,所以简要列出这个问题不是关于的:
加载 ListView 数据模型(从 Web/DB 获取数据) 到达 ListView 末尾时加载更多数据 这与 ViewHolder 模式无关(回收视图)PS:Google 有点难——所有出现在我脑海中的关键词都已经被其他主题占用了……
【问题讨论】:
这没有回答你的问题,但它解释了回收的工作原理,所以它可能有用***.com/questions/11945563/… @sherpya 感谢您的链接。有一些关于高度和宽度计算的提示对我来说是新的。 你找到改变预加载项数的方法了吗? 不管怎样,如果您在滚动平滑度方面遇到问题,添加更多视图不会使滚动更平滑,通过创建更多布局和计算会使情况变得更糟。您最好对代码进行分析以确定缓慢的来源并找出优化布局、绘制或适配器绑定的位置。 【参考方案1】:负责控制何时隐藏/显示视图的类是LayoutManager.
我不太熟悉该类的内部工作原理,但我想您可以创建一个自定义 LayoutManager 来覆盖一些相关部分来实现您需要的功能。
【讨论】:
以上是关于使用 ListView-Adapter 预加载更多视图的主要内容,如果未能解决你的问题,请参考以下文章