【问题标题】:Xamarin.Forms ListView scrolling slow and jerkyXamarin.Forms ListView 滚动缓慢且生涩
【发布时间】:2021-01-17 17:09:13
【问题描述】:

我有一个包含 100 万条记录的 ListView。

我可以从平面文件或数据库中预加载 ListView(大约 8 秒)。

或者,将 100 万条空记录加载到 ListView 中(大约 1 秒),然后在 ItemAppearing() 时动态填充值。

我选择后者,它适用于 Xamarin Forms 3.3。

当我升级到 3.3 之后,滚动变得缓慢而生涩。在过去的一年中,我尝试了多个版本的升级,但都遇到了同样的问题,这意味着我被困在 3.3 上,错过了更高版本的任何好处。

任何人都知道为什么会发生这种情况以及我可以如何解决它。或者任何人都可以建议我可以尝试的更好的设计。

(当应用程序在卸载后被带回内存时,我的列表视图项目实际上也会崩溃,偶尔会出现对象处置错误,但如果我能够升级,我怀疑这个问题可能会消失。)

【问题讨论】:

  • “100 万条记录”——这就是问题所在。移动设备上的用户是否真的会查看这些记录中的 1%?您需要考虑一种策略来显示一些有用信息子集,或者至少考虑延迟加载。
  • 是的,这是经典的“我的用户将要查看一百万条记录”问题......你完全错了!你需要重新考虑你的问题
  • 感谢您的回复,但都没有真正的帮助。如果你仔细阅读我的帖子,我已经在做一个懒加载了。它也是一个字典应用程序,因此如果 ScrollView 要准确,列表视图中至少有 100 万个虚拟元素是不可避免的。我面临的问题是它在旧版本的 Xamarin Forms 中工作得非常好,但现在不是。
  • 在没有看到任何代码或相关信息的情况下,我们很难告诉您为什么您的旧代码在新版本的 Xamarin Forms 中无法正常工作。在实现列表视图时,您是否遵循document 中的指南?

标签: c# android listview xamarin.forms


【解决方案1】:

100 万条记录是很多记录。你应该去分页。为了平滑滚动列表视图,您应该设置 CachingStrategy="RecycleElement"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 2015-12-19
    • 1970-01-01
    相关资源
    最近更新 更多