Android Firestore仍在从缓存中检索文档,即使I';已禁用持久性
我的Firestore仍在从缓存中检索文档,尽管我明确告诉它不要:Android Firestore仍在从缓存中检索文档,即使I';已禁用持久性,android,firebase,kotlin,google-cloud-firestore,geofire,Android,Firebase,Kotlin,Google Cloud Firestore,Geofire,我的Firestore仍在从缓存中检索文档,尽管我明确告诉它不要: class MainActivity : AppCompatActivity() { val db = FirebaseFirestore.getInstance() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val dbSettings = F
class MainActivity : AppCompatActivity() {
val db = FirebaseFirestore.getInstance()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val dbSettings = FirebaseFirestoreSettings.Builder().setPersistenceEnabled(false).build()
db.firestoreSettings = dbSettings
上面是我设置Firestore设置的启动程序活动
在我的片段中,我执行了一个:
这是它记录的内容:
onDocumentEntered: user1: 0X6 | docId: lPLFf | fromCache: true
isPersistanceEnabled2: false
这没有意义——即使我的持久性已关闭,我仍在接收缓存文档
知道问题出在哪里吗
编辑:我已尝试清除缓存,但没有解决问题。您现在可以选择是仅从服务器获取数据,还是仅从缓存获取数据,如下所示(仅用于服务器的示例):
DocumentReference=FirebaseFirestore.getInstance().document(“示例”);
documentReference.get(Source.SERVER).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(文档快照文档快照){
//...
}
});
仅对于缓存,只需将上面的代码更改为Source.cache
默认情况下,这两种方法仍会尝试使用服务器并退回到缓存。请编辑问题,以准确解释您是如何观察到文档肯定来自缓存而不是服务器的。已编辑-再次出现时,我将包括缓存的文档日志。可能,道格没有看到你的回应,因为你没有用
@
标记他。我想他本可以帮忙的guess@DougStevenson我已经用一些缓存检索的示例更新了我的答案。谢谢这可以解决我的问题-但是我使用库进行查询:所以我不能直接访问我的代码。@Zorgan,因为geofirestore没有强制服务器读取的选项,您只需将此库添加为模块并更改此特定部分
onDocumentEntered: user1: 0X6 | docId: lPLFf | fromCache: true
isPersistanceEnabled2: false
DocumentReference documentReference= FirebaseFirestore.getInstance().document("example");
documentReference.get(Source.SERVER).addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
//...
}
});