gpt4 book ai didi

java - 使用 Glide 预加载多个图像

转载 作者:IT老高 更新时间:2023-10-28 21:14:36 29 4
gpt4 key购买 nike

我们正在尝试将图像预加载到缓存中以便稍后加载(图像位于应用程序的 Assets 文件夹中)

我们尝试了什么:

Glide.with(this)
.load(pictureUri)
.diskCacheStrategy(DiskCacheStrategy.ALL);

Glide.with(this)
.load(picture_uri)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.preload();

问题:仅当我们尝试加载/显示图像时才会缓存图像:它们必须先加载到内存中才能显示得更快。

Glide.with(this)
.load(picture_uri)
.into(imageView);

我们还尝试使用 GlideModule 来增加 CacheMemory 大小:

public class GlideModule implements com.bumptech.glide.module.GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder
builder.setMemoryCache(new LruResourceCache(100000));
}

@Override
public void registerComponents(Context context, Glide glide) {
}
}

在 list 中:

 <meta-data android:name=".GlideModule" android:value="GlideModule"/>

到目前为止没有任何效果。有什么想法吗?


我们尝试使用一个不可见的 1 dp imageView,但结果是一样的:

for(Drawing drawing: getDrawingsForTab(tab)){

Glide.with(this)
.load(drawing.getImage().toUri())
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(mPreloadCacheIv);

for(Picture picture : getPictures()){

Glide.with(this)
.load(picture.getPicture().toUri())
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(mPreloadCacheIv);
}
}

最佳答案

使用以下代码缓存图像而不显示它们

  1. 如果您希望从网络下载图像并将其存储在 diskCache 中,请使用 downloadOnly 方法:

    FutureTarget<File> future = Glide.with(applicationContext)
    .load(yourUrl)
    .downloadOnly(500, 500);
  2. 如果要将它们加载到内存缓存中,请使用 preload 方法。

    Glide.with(context)
    .load(url)
    .preload(500, 500);

您可以稍后使用缓存的图像使用

Glide.with(yourFragment)
.load(yourUrl)
.into(yourView);

关于java - 使用 Glide 预加载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37964187/

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