如何解决如何使用 flutter 和 firebase 获取/存储和处理大型列表
我有一个 Flutter 应用程序,它允许用户在 firebase 的个人列表中添加、更新和删除项目。此列表中的项目在整个应用程序的多个屏幕上使用。我使用 Streams 和 Provider 实现了它,但是一旦用户在他的列表中存储了 1000 多个项目并在之后添加新项目,该应用程序会急剧变慢,甚至在 iO 上因内存不足异常而崩溃。 出于测试目的,我将流文档提取的数量限制为 100。性能恢复正常。
现在我想知道在理想情况下继续获取所有条目的同时避免这种情况的最佳方法是什么。
我能想到:
-
使用未来在开始时获取所有条目,并以某种方式使其可用于使用列表的所有页面(例如通过 SharedPreferences)。但在这里,每次有人手动添加或删除值时,我都需要更新列表。
-
将依赖于拥有多达 10k 个文档的完整列表的功能拆分为特定的未来请求(例如,在搜索时获取所有具有属性 y 的内容)。我想避免这种情况,因为它会限制当前的用户体验。
-
以某种方式优化流/提供程序设置?任何提示/最佳实践?最多可以使用多少个文档?
感谢您的任何提示或意见!
蒂莫
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。