Ste*_*lla 16 java android picasso
我在我的应用程序中使用Picasso有效地加载图像并且正在最好地完成他的工作.问题是,目前如果我Picasso.with()使用相同的URL多次调用 ,但是每次使用具有不同尺寸的图像视图时,图像获得下载again.In Glide我们的方法 .diskCacheStrategy()与DiskCacheStrategy.SOURCE解决的problem.is有毕加索任何替代办法?
在这个查询中,我们将获得Glid的解决方案但不适用于Picasso.how我可以重用图像而无需重新加载不同尺寸的ImageView.
这是我正在使用的代码
Picasso.with(context)
.load(URI)
.placeholder(R.drawable.ic_profile_thumb)
.resize(180, 180).centerInside()
.into(viewHolder.imgThumbnail);
Run Code Online (Sandbox Code Playgroud)
Picasso没有将图像缓存到磁盘,Picasso只有一个内存缓存.磁盘缓存由网络库(OKhttp)完成.因此写入磁盘缓存的映像永远不会重新调整大小.
如果多次下载相同的网址图像,则可能需要检查网络库.
如果您的项目使用okhttp库,那么picasso会自动将其用作默认下载程序.如果您正在使用任何其他网络库,则必须编写自己的下载程序并使用它进行设置
Picasso.Builder(context).downloader(customDownloader)
Run Code Online (Sandbox Code Playgroud)
这个链接可能会让事情变得清晰
毕加索默认情况下不会调整图像大小.如果你像下一个那样做一个简单的电话......
Picasso.with(context).load("https://goo.gl/v9EkbF").into(imageView);
Run Code Online (Sandbox Code Playgroud)
...毕加索正在缓存全尺寸图像.从那时起,每次调用相同的URL时,Picasso都会重用该全尺寸图像,让GPU在视图中调整大小.
使用resize()方法只缓存已调整大小的图像,如果使用不同的大小,Picasso将需要再次下载图像.
不要使用resize()选项,您将获得更好的带宽使用率,但要小心内存使用情况.
毕加索的默认值
毕加索确实有自动内存和磁盘缓存.最近请求的任何图像都将在内存缓存中.如果没有Picasso将检查磁盘缓存.如果它在磁盘上不可用,那么Picasso才会启动网络请求.
所有请求的图像都存储在两个缓存中,直到必须删除它们才能释放空间.
2.5.2中的默认值是:
您可以像这样增加磁盘缓存(示例为100MB):
Picasso picasso = new Picasso
.Builder(this)
.downloader(new OkHttpDownloader(getCacheDir(), 100000000))
.build();
Picasso.setSingletonInstance(picasso);
Run Code Online (Sandbox Code Playgroud)
更改光盘缓存大小不会更改缓存策略.
内存政策
例
Picasso
.with(context)
.load(https://goo.gl/v9EkbF)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
网络政策
例:
Picasso
.with(context)
.load(https://goo.gl/v9EkbF)
.networkPolicy(NetworkPolicy.NO_CACHE)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
内存和缓存注意事项
RGB565的尺寸是RGB888的一半.使用RGB565和更小图像的结果是毕加索的内存占用率(可能是3倍/ 4倍)比Glide更高.
这些只是默认值.Glide可以配置为使用RGB888和Picasso来使用RGB565.Picasso可以配置为只调整像Glide这样经过调整大小的图像.
在相同的设置下,内存占用几乎相同.
带宽考虑因素
您可以要求Glide缓存所有内容,全尺寸图像和调整大小的图像,但默认情况下Glide的带宽消耗更高.
注意
毕加索2.6即将到来,我不知道什么是不同的/新的.
来源
| 归档时间: |
|
| 查看次数: |
4133 次 |
| 最近记录: |