首页 > 解决方案 > 潜在的 Firestore 离线获取数据错误

问题描述

我尝试离线从文档中获取数据,但加载同一个文档的时间却大不相同。该文档是集合中的五个文档之一(文档不多)。该文档可能包含 10 个字段和 3 个相当大的数组,但可能不接近 1 mb 的限制。

这就是我测试的方式。

开启飞行模式

  1. 装入相同的文档。
  2. 保存相同的文档,不做任何更改。
  3. 等待大约 10-30 秒
  4. 重复

这是时间输出:

  1. 5.301s
  2. 2.378s
  3. 35.892s
  4. 65.456s
  5. 55.123s
  6. 23.831 秒

每次我关闭应用程序时,即使我保持飞行模式以保持缓存,并且不要保持活动并再次执行这些步骤,它在开始时总是很快又变慢。

我发现,当它需要这么长时间时,文件是在此之后收集的:

2021-08-27 20:45:29.109 W/Firestore: (23.0.3) [WatchStream]: (XXXXXX) Stream closed with status: Status{code=UNAVAILABLE, description=Unable to resolve host firestore.googleapis.com, cause=java.lang.RuntimeException: java.net.UnknownHostException: Unable to resolve host "firestore.googleapis.com": No address associated with hostname

所以我认为这与此有关:

Firestore: (23.0.3) [ExponentialBackoff]: Backing off for 76823 ms (base delay: 60000 ms, delay with jitter: 76849 ms, last attempt: 26 ms ago)

更多信息:

标签: androidfirebasegoogle-cloud-firestore

解决方案


推荐阅读