【发布时间】:2015-10-05 12:30:30
【问题描述】:
我正在使用Glide 库并想了解有关它的更多详细信息。它是否会将整个图片加载到内存中,例如,如果我有一张 1920x1080 的图片并将其加载到屏幕尺寸为640x480 是否会调整大小并压缩或加载整个内容?
还有 glide 的缩略图功能,它是否只是加载图像的图标版本,以便它可以用于像头像这样的东西?
【问题讨论】:
标签: android image resize compression android-glide
我正在使用Glide 库并想了解有关它的更多详细信息。它是否会将整个图片加载到内存中,例如,如果我有一张 1920x1080 的图片并将其加载到屏幕尺寸为640x480 是否会调整大小并压缩或加载整个内容?
还有 glide 的缩略图功能,它是否只是加载图像的图标版本,以便它可以用于像头像这样的东西?
【问题讨论】:
标签: android image resize compression android-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 选项。
【讨论】: