将相同的图库图像加载到两个不同的活动片段Android Picasso

时间:2015-05-02 06:55:56

标签: android image imageview android-recyclerview picasso

目前我有一个主要活动,其中有一个Fragment加载了RecyclerView。在RecyclerView适配器中,我使用Picasso根据我喜欢的存储URI字符串从用户的图库中加载图像:

Picasso.with(context)
    .load(imageUri)
    .resize(400, 400)
    .into(viewHolder.imageView);

当用户点击RecyclerView中的其中一个项目时,我转到一个新的Activity并在其自己的Fragment onCreateView内部我再次加载相同的图像,但是它的大小稍大(因为ImageView我将它加载到尺寸较大)

Picasso.with(getActivity())
    .load(imageUri)
    .resize(600, 600)
    .centerCrop()
    .into(imageView);

我的问题是......假设这些图像可能非常大......

当RecyclerView首次需要600px X 600px时,是否有更好的方法加载此图像,然后在需要它的后续活动和碎片中重复使用位图数据而不重新加载?

我可以使用像Volley这样的不同图像加载器,如果这样做的话更好。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

你可以试试Glide它有几乎相同的api。当Picasso只使用http缓存并且难以控制时,而不是Picasso滑动有自己的缓存实现。在滑行中,您需要指定diskCacheStrategy.ALL以使您想要的滑行缓存。这是cache wiki