当用户滚动列表并使用这些异步加载的结果设置列表项的高度时,您正在执行异步加载。这会导致在重建旧项目时出现滚动问题,因为旧项目的高度在创建时尚不可用。
您可以尝试将整个线程加载到Map中,并使用Regular来构建窗口小部件
ListView。这样,所有数据都存在于内存中,供您在需要时读取。滚动查看新内容(无进度指示器)时,这会带来更好的用户体验,但是当数据更改时,您将不会获得更新,并且对于超长线程,可能会用光内存。请记住,
FirebaseAnimatedList无论如何,它都会在内存中维护初始查询的完整结果列表,例如其他平台上的Firebase数据库UI。
如果您不喜欢该选项,则可以将完整的快照缓存在可以从中读取的地图中,这样在回滚到旧图块时就永远不会显示加载指示符。如果不实现某种驱逐逻辑,您仍然可能会用完内存,但是在实践中不太可能发生这种情况。
目前还没有分页FirebaseAnimatedList的方法,但是我一直在考虑添加它。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)