android - 由于 Firebase UI,我的应用程序缓存增加
问题描述
我正在开发一个将在本周末发布的应用程序。但是我发现我的应用程序有一个奇怪的地方。当我检查应用程序的存储信息时,我发现我的应用程序的缓存数据在数据加载时迅速增加。我正在使用 Firebase UI 将 Cloud Firestore 中的数据加载到我的回收站视图中。这也包含图像。我不知何故得出结论,这都是因为从服务器获取的图像被反复下载,这增加了我的缓存。我想知道如何减少缓存大小,因为它像现在一样消耗了大量用户的存储空间。
解决方案
如果要限制缓存的大小,则需要在执行任何查询之前进行设置。配置缓存大小的文档说您可以setCacheSizeBytes()
像这样使用:
启用持久性后,Cloud Firestore 会缓存从后端接收到的每个文档以供离线访问。Cloud Firestore 设置了缓存大小的默认阈值。超过默认值后,Cloud Firestore 会定期尝试清理旧的、未使用的文档。您可以配置不同的缓存大小阈值或完全禁用清理过程:
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
.setCacheSizeBytes(FirebaseFirestoreSettings.CACHE_SIZE_UNLIMITED)
.build();
db.setFirestoreSettings(settings);
推荐阅读
- java - Android Studio,在 2 个 Activity 之间传递 1 个 ArrayList
- python - 一遍又一遍地使用函数本身的返回值?
- jquery - 我有一个圆形进度条,我想根据百分比更改进度条的颜色,但似乎无法做到(使用 jsp)
- r - 如何计算 R 中对数正态分布的比例和形状参数?
- c# - 我如何知道服务是否需要一个字符串数组?
- python - 如果差值大于某个值,则在列表中保留连续数字
- python - 在 Python 中复制迭代器
- javascript - 如何在多折线图中打开和关闭数据点以及线条
- javascript - 在指针位置上使用 css scale() 放大/缩小作为原点会使 div 跳来跳去
- r - 如何将 .txt 冒号分隔的键值对列表转换为以段落分隔的大小写(Rstudio)