android - Firestore 监听器
问题描述
我有多个表,可以从中获取有关应用程序启动的数据。我使用 get() 并且获取多个表非常慢,所以我最终得到了非常慢的应用程序启动。大约 5 秒(难以置信)。
所以我的想法是只获取一次所有数据,然后为 Firestore 更改附加监听器。我尝试使用 addSnapshotListener 但它首先获取数据,然后我再次花费 5 秒来获取所有不必要的数据。
有没有办法只附加监听器而不获取数据?
一般来说,我需要一些聪明的方法来解决这个问题。定期监视更新和同步不是自定义服务器。
有任何想法吗?
查询非常简单,这是一个示例:
FirebaseFirestore.getInstance().collection("someData").get().addOnCompleteListener(task -> {
if (task.isSuccessful()) {
for (final QueryDocumentSnapshot document : task.getResult()) {
//extract data
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
});
表最多可以有 10 个字段,不能更多。我有 8 个表,所以最多 80 个字段。另外,我在 Firestore 上没有太多数据,在 onSnapshotListener 中收到了大约 200 个结果。使用一年后能用多久?很长。
网络很好,100MB,负载最小。
解决方案
推荐阅读
- html - Blazor 上的 Svg 图像显示本地主机上的加载缓慢
- python - 如何跳过没有内容的值?
- r - Subtract one hour from hms in R without generating negative values
- mysql - 如何查询属于另一个表中 2 个不同值的实体?
- python - 如何定义多种用途的字典?
- mysql - 从表限制中查找员工参加会议的次数
- google-chrome-extension - 将扩展迁移到清单 v3
- amazon-ecs - 如何使用 ECR 编辑 Caddyfile
- python - 为什么是我的鼠标射击而不是我的播放器?
- r - 使用 R 和 Rvest 抓取网页时出现问题