毕加索库会自动缓存图像吗?
Does picasso library caches images automatically?
我有 3 个主要问题,但找不到可靠的新答案。
1)毕加索会自动缓存图像吗?因为我看到有人用okhttp3缓存图片供离线使用。如果是,他们为什么要使用另一个库来缓存?
2) 如果您的 phone 存储空间 运行 低,Picasso 缓存系统是否仍会缓存它并使应用程序崩溃?
3) 在我的应用中,我使用 Picasso.get().fit()
。如果 Picasso 库正在缓存,它是缓存整个图像还是只缓存合适的版本(小于整个图像)
最后,这是我的代码:
Picasso.get().load(downloadURL).fetch()
Picasso.get().setIndicatorsEnabled(true)
Picasso.get().load(downloadURL).fit().networkPolicy(NetworkPolicy.OFFLINE).into(viewHolder.itemView.vegetableImage,
object: Callback {
override fun onSuccess() {}
override fun onError(e: Exception?) {
Picasso.get().load(downloadURL).fit().into(viewHolder.itemView.vegetableImage)
}
})
网络政策制定在加载图像方面有什么不同还是相同? fetch()
有用吗?当我从 Firebase 数据库获取数据时,我在我的回收器视图适配器 onBindViewHolder 中使用它。
提前致谢。
1)Does Picasso caches images automatically?
是的,确实如此。这是图书馆的描述:
A powerful image downloading and caching library for Android.
因此您将拥有自己的缓存。
Because I have seen people using okhttp3 to cache images for offline use.
还有很多其他的库。
If yes why would they use another library to cache?
您可以使用 Picasso 或任何其他库,但您可以选择更适合自己的库。
2) if your phone storage is running low, would Picasso caching system still cache it and crash the app?
是的,会的。该库没有检查您的磁盘 space。此操作应由用户完成。最终,当您的设备上没有更多的 space 并且您的应用程序将尝试将新图像写入磁盘时,它会抛出异常。
3)In my app, i am using Picasso.get().fit(). If Picasso library is caching, does it cache the whole image or only the fit version(smaller than the whole image).
它会缓存你得到的图像,但有转换它的选项。你可以resize喜欢的图片:
Picasso.get()
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
PS。对于 Android,我们还使用 Glide:
Glide is a fast and efficient open-source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
我有 3 个主要问题,但找不到可靠的新答案。
1)毕加索会自动缓存图像吗?因为我看到有人用okhttp3缓存图片供离线使用。如果是,他们为什么要使用另一个库来缓存?
2) 如果您的 phone 存储空间 运行 低,Picasso 缓存系统是否仍会缓存它并使应用程序崩溃?
3) 在我的应用中,我使用 Picasso.get().fit()
。如果 Picasso 库正在缓存,它是缓存整个图像还是只缓存合适的版本(小于整个图像)
最后,这是我的代码:
Picasso.get().load(downloadURL).fetch()
Picasso.get().setIndicatorsEnabled(true)
Picasso.get().load(downloadURL).fit().networkPolicy(NetworkPolicy.OFFLINE).into(viewHolder.itemView.vegetableImage,
object: Callback {
override fun onSuccess() {}
override fun onError(e: Exception?) {
Picasso.get().load(downloadURL).fit().into(viewHolder.itemView.vegetableImage)
}
})
网络政策制定在加载图像方面有什么不同还是相同? fetch()
有用吗?当我从 Firebase 数据库获取数据时,我在我的回收器视图适配器 onBindViewHolder 中使用它。
提前致谢。
1)Does Picasso caches images automatically?
是的,确实如此。这是图书馆的描述:
A powerful image downloading and caching library for Android.
因此您将拥有自己的缓存。
Because I have seen people using okhttp3 to cache images for offline use.
还有很多其他的库。
If yes why would they use another library to cache?
您可以使用 Picasso 或任何其他库,但您可以选择更适合自己的库。
2) if your phone storage is running low, would Picasso caching system still cache it and crash the app?
是的,会的。该库没有检查您的磁盘 space。此操作应由用户完成。最终,当您的设备上没有更多的 space 并且您的应用程序将尝试将新图像写入磁盘时,它会抛出异常。
3)In my app, i am using Picasso.get().fit(). If Picasso library is caching, does it cache the whole image or only the fit version(smaller than the whole image).
它会缓存你得到的图像,但有转换它的选项。你可以resize喜欢的图片:
Picasso.get()
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
PS。对于 Android,我们还使用 Glide:
Glide is a fast and efficient open-source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.