我有RecyclerView
,其中从服务器URL加载图像。所以我使用Glide库加载图像,将图像滑动存储到缓存中以尽快重新加载。
我使用placeholder()
作为首次加载图像的加载器,但是如果我离开互联网并启动应用程序,则它仍会先加载占位符,然后再将图像加载到ImageView
中。
因此,我的问题是,有什么方法可以将图像加载到ImageView
中,以便在加载图像时像平滑(脱机)应用程序那样的用户体验
Glide.with(context)
.load(www.abc.com/abcd.jpg)
.placeholder(R.drawable.placeholder)
.into(viewHolder.ivSleepImage)
您可以检查此应用Walking UP,它会比没有加载器更早地加载图像,而下一次图像加载意味着您打开已在列表中加载的应用图像时。
请有人帮我完成这项任务
答案 0 :(得分:0)
您可以通过2种方法完成该任务,但可能会很长,因为在Android开发中,存储和加载不是解决方法
1。将数据存储在缓存中
2。在数据库中存储数据
缓存策略相对容易。当您从服务器请求数据时(如果连接不可用),则必须从缓存中加载数据。可以从数据库中说出同样的意思,但是它很冗长,并且可能非常慢。
答案 1 :(得分:0)
一种快速解决问题的方法是将diskCacheStrategy
添加到您的Glide通话中。这将帮助您缓存图像的 ALL 版本,从而减少加载时间。这是一个实现:
Glide.with(context)
.load(www.abc.com/abcd.jpg)
.placeholder(R.drawable.placeholder)
.into(viewHolder.ivSleepImage)
.diskCacheStrategy(DiskCacheStrategy.ALL)
我希望这会有所帮助。快活的编码!