glide-caching优先显示

mhd8tkvw  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(181)

我有一个按钮,显示两个不同的图像(代表一个激活和停用的状态)取决于按钮是否被按下之前。
问题是,如果用户单击按钮,激活的图像将从服务器下载,这会导致令人恼火的延迟。我希望使用glide同时从服务器获取两个图像,因此如果单击按钮,图像可以直接从磁盘而不是服务器中提取。
所以,为了清楚起见,我想同时下载和缓存两个图像,然后根据按钮是“激活”还是“停用”只显示一个或另一个。
我希望我能给glide打两次电话:

public void cacheImages(){
        this.setBackgroundFromUrl(this.button, this.activatedUrl);
        this.setBackgroundFromUrl(this.button, this.deactivatedUrl);
    }

    private void setBackgroundFromUrl(ImageButton view, String url){
        GlideImageLoader.loadImage(this.fragment, view, url);
    }

public static void loadImage(Fragment fragment, ImageButton view, String url){
        GlideApp.with(fragment)
                .load(url)
                .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                .placeholder(R.drawable.placeholder)
                .into(view);
    }

但这似乎没有效果。当按下按钮时,图像仍然会从服务器下载,就像我没有打电话一样 cacheImages 完全。
如果有人有更好的解决方案,那也太好了!
我用的是滑翔4。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题