即使从缓存加载图像,滑行仍需要时间来加载图像?

时间:2019-07-04 11:42:24

标签: android android-imageview android-glide

我有RecyclerView,其中从服务器URL加载图像。所以我使用Glide库加载图像,将图像滑动存储到缓存中以尽快重新加载。 我使用placeholder()作为首次加载图像的加载器,但是如果我离开互联网并启动应用程序,则它仍会先加载占位符,然后再将图像加载到ImageView中。 因此,我的问题是,有什么方法可以将图像加载到ImageView中,以便在加载图像时像平滑(脱机)应用程序那样的用户体验

Glide.with(context)
        .load(www.abc.com/abcd.jpg)
        .placeholder(R.drawable.placeholder)          
        .into(viewHolder.ivSleepImage)

您可以检查此应用Walking UP,它会比没有加载器更早地加载图像,而下一次图像加载意味着您​​打开已在列表中加载的应用图像时。

请有人帮我完成这项任务

2 个答案:

答案 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)

我希望这会有所帮助。快活的编码!