0

我正在阅读Android Universal Image Loader的源代码。

我无法理解 ImageScaleType 是什么。IN_SAMPLE_POWER_OF_2表示。

它说:“它是快速类型,更适合在列表/网格/画廊(和其他 AdapterView)中使用”

为什么它很快,为什么它更适合在适配器视图中使用?

4

3 回答 3

2

我对此不太确定,但我会假设这个枚举值描述了多少像素(“样本”),可能是为了计算输出图像的单个像素。

然后,计算通常会采用多个源样本的平均值,例如newValue = (srcValue[1] + srcValue[2] + ... srcValue[n]) / n. 如果以及何时通过位移整数值是 2 的幂,则除以n可以非常快速地计算出来。n如果n不是 2 的幂,则需要“真正的”除法运算,这在计算上要昂贵得多。

于 2012-12-16T16:45:08.997 回答
1

文档

IN_SAMPLE_POWER_OF_2

图像将缩小 2 倍,直到下一个缩小步骤使图像更小的目标尺寸。

于 2015-05-27T12:22:24.080 回答
0

它是应用于图像的比例因子。如果设置为,2则图像的宽度和高度将减半。这意味着它将使用更少的内存,但也会在屏幕上占据更小的“盒子”。

于 2012-12-16T16:22:55.260 回答