我正在使用Glide库并想了解有关它的更多详细信息。它是否将整个图片加载到内存中,例如,如果我有一张 1920x1080 的图片并将其加载到屏幕尺寸为 640x480 的手机上,它是否会调整大小和压缩或加载整个东西?
还有 glide 的缩略图功能,它是否只是加载图像的图标版本,以便它可以用于像头像之类的东西?
我正在使用Glide库并想了解有关它的更多详细信息。它是否将整个图片加载到内存中,例如,如果我有一张 1920x1080 的图片并将其加载到屏幕尺寸为 640x480 的手机上,它是否会调整大小和压缩或加载整个东西?
还有 glide 的缩略图功能,它是否只是加载图像的图标版本,以便它可以用于像头像之类的东西?
1)取决于所选的 diskCacheStrategy Glide 保存或原始图像(在您的情况下为 1920x1080)或为每个视图单独处理的图像(例如使用 .override(int width, int height) 方法)。Glide 为您做的唯一优化是以 RGB_565 格式而不是系统默认的 ARGB_8888 格式存储图像。
如果您正在寻找减少流量和内存消耗的策略,这里是关于下载自定义尺寸图像的模型描述:
2) 缩略图功能 - 它只是一个选项,可以在下载最终图像时使用原始图像的缩小副本填充容器视图,以显示空容器或“进度视图”。以下是 Java doc thumbnail(float f) 中对其规则的描述:
* Loads a resource in an identical manner to this request except with the dimensions of the target multiplied
* by the given size multiplier. If the thumbnail load completes before the fullsize load, the thumbnail will
* be shown. If the thumbnail load completes afer the fullsize load, the thumbnail will not be shown.
所以它不是头像造型的正确方法。通常的方法是结合 override 和 centerCrop 选项。