首页 > 解决方案 > 由于 Firebase UI,我的应用程序缓存增加

问题描述

我正在开发一个将在本周末发布的应用程序。但是我发现我的应用程序有一个奇怪的地方。当我检查应用程序的存储信息时,我发现我的应用程序的缓存数据在数据加载时迅速增加。我正在使用 Firebase UI 将 Cloud Firestore 中的数据加载到我的回收站视图中。这也包含图像。我不知何故得出结论,这都是因为从服务器获取的图像被反复下载,这增加了我的缓存。我想知道如何减少缓存大小,因为它像现在一样消耗了大量用户的存储空间。

标签: androidfirebasecachinggoogle-cloud-firestorefirebaseui

解决方案


如果要限制缓存的大小,则需要在执行任何查询之前进行设置。配置缓存大小的文档说您可以setCacheSizeBytes()像这样使用:

启用持久性后,Cloud Firestore 会缓存从后端接收到的每个文档以供离线访问。Cloud Firestore 设置了缓存大小的默认阈值。超过默认值后,Cloud Firestore 会定期尝试清理旧的、未使用的文档。您可以配置不同的缓存大小阈值或完全禁用清理过程:

FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
        .setCacheSizeBytes(FirebaseFirestoreSettings.CACHE_SIZE_UNLIMITED)
        .build();
db.setFirestoreSettings(settings);

推荐阅读