gpt4 book ai didi

android - 带有滑动和缓存的 FirebaseUI

转载 作者:行者123 更新时间:2023-11-30 00:44:41 27 4
gpt4 key购买 nike

我不太明白 recyclerView 和 glide 在缓存信息和图像数据方面是如何工作的,所以我想知道是否有人可以提供帮助。

目前,我将有关图像的元数据存储在实时数据库中。元数据有足够的信息可以进行存储引用并从数据库中提取正确的图像:

storageReference.child("users/uid/profile.png")

但是,我的问题是关于 firebaseUI 元素:

Glide.with(this)
.using(new FirebaseImageLoader())
.load(storageReference)
.into(imageView);

所以我将图像添加到我的 recyclerview 中,如下所示:

for (ProfileCard card : localDB.getAllCards()) {
profileCards.add(1, card);
adapter.notifyItemInserted(1);
}

现在每次我离开卡片所在的 Activity 时, Activity 显然都被破坏了。在类的 onCreate 中再次调用 for 循环。因此,当我执行 adapter.notifyItemInserted(1); 时,将调用适配器并再次调用用于添加图片的滑动功能。

所以我的问题是,每次我销毁并重新创建 Activity ,然后在调用 glide 方法时再次添加卡片时,它是否会向存储桶发出请求以再次下载图像?如果不是会发生什么?如果图像存储在缓存中,这个缓存有多大?

非常感谢任何帮助

最佳答案

如果您通读the project wiki on GitHub,您关于 Glide 的许多答案都可以得到解答。 .

当 Glide 获取图像时,它将缓存在本地内存和磁盘上。你可以configure the sizes of these caches .以下是文档中关于默认磁盘缓存大小的内容:

The internal cache factory places the disk cache in your application's internal cache directory and sets a maximum size of 250MB.

对于内存缓存:

Default sizes are determined by the MemorySizeCalculator class. The MemorySizeCalculator class takes into account the screen size available memory of a given device to come up with reasonable default sizes.

预计事物将反复建立和拆除。这就是这些缓存存在的原因。

关于android - 带有滑动和缓存的 FirebaseUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41990483/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com