我正在try 预加载一个活动中的图像列表,然后启动另一个活动,并将这些图像加载到缓存中已预加载的图像视图中.

我有两个问题 如果我在一个活动中预加载图像,它们是否可以在另一个活动中加载? 我做的glide方法是正确的,还是遗漏了什么? 有没有其他更好的方法来预加载图像?

我已经try 了Glide个预加载图像,但在另一个活动中加载图像仍然需要很长时间

Glide.with(requireContext())
    .load(imageStory.image)
    .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
    .preload();

然后将它们加载到另一个活动的Imageview中

Glide.with(this)
    .load(stories[counter].image)
    .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
    .into(binding.storyDisplayImage)

我希望我在一个活动中预加载的图像列表在另一个活动中加载的速度会比我没有预加载它们的速度快很多倍

推荐答案

如果有人在寻找同样的答案,我找到了答案

我发现了一个使用另一个库的解决方法,那就是COIL.对我来说,与Glide相比,它似乎要简单得多,在所有方面都要好一点.

fun preloading(uri: Uri?) { //for preloading images in cache
        val request = ImageRequest.Builder(requireContext())
            .data(uri)
            .build()

        requireContext().imageLoader.enqueue(request)
   }

并在其他活动或片段中加载图像

binding.storyDisplayImage.load(stories[counter].image)

Android相关问答推荐

滑动以更改合成中的活动

如何在Reaction Native中显示Google Map iFrame?

如何检测HitTest是否命中给定的网格对象?

如何在Jetpack composeH中创建具有弯曲末端的六边形形状

不能在LazyGrid-Jetpack Compose中使用填充最大宽度或填充父项最大宽度

为什么它显示我的空白屏幕?

页面标题未显示在内容页面上

无法找到方法 ''java.io.File > org.jetbrains.kotlin.gradle.tasks.KotlinCompile.getDestinationDir()

在 Jetpack Compose 中清除列表时可组合不重组

Jetpack Compose - 每次点击按钮都不起作用

如何在 BasicTextField 中全选焦点

缺少类 com.google.android.datatransport.runtime.ForcedSender

java.lang.IllegalArgumentException:与请求匹配的导航目的地 NavDeepLinkRequest

如何将设备屏幕位置转换为发送事件位置?

我应该使用 Bluetooth Classic 还是 Bluetooth LE 与我的移动应用程序通信?

0dp 大小的可组合文件是否可以组合?

为什么在try 实例化 Mediaplayer 时会出现 NullPointerException?安卓Kotlin

Jetpack Compose Tapjacking:过滤对模糊 UI 的touch

使用协程访问数据库

Android:如何获取具有纬度和经度的位置的图像