我有一个相当大的图像 URL 列表,用于加载ViewPager
使用 Picasso 的图像。我需要能够通过意图为这些图像提供共享功能(最终通过ShareActionProvider共享)。根据我的阅读,毕加索并不是真正为开箱即用地处理这类事情而设计的,尽管它提供了所有必要的工具来做到这一点。
我在研究之前的计划是创建一个LruCache
使用 url 作为键和位图值的简单程序。这种缓存将onBitmapLoaded
通过毕加索的Target
界面发生。每当我想共享图像时,我都会检查缓存中的位图。如果它不在那里,我会用毕加索取来。既然我有一个缓存的位图,无论如何,我将写入一个文件(......这部分看起来不正确,尽管我必须写入一个文件来获取一个 uri,对吧?)并将文件 uri 添加到意图。
但是我看到Picasso.Builder
我可以设置(并保留对)我自己的缓存 - https://stackoverflow.com/a/18552559/413254。这意味着我可以通过正确实施和方法消除习惯Target
和混乱,以确保准确的回收、检索等。hashCode
equals
我的问题是,毕加索如何使用这个缓存?什么是钥匙?有没有办法在不将其写入磁盘的情况下获取位图 Uri?