将JPEG图像加载为ARGB_8888时是否使用Alpha通道?

时间:2013-08-22 19:54:37

标签: android image jpeg

JPEG格式的图片不支持透明度。 Reference.

ARGB_8888是在Android上加载图片的默认格式。 Reference.

那么,如果我将JPEG图像加载为ARGB_8888,那么每个像素上都不会使用8位alpha通道吗?

为了不丢失内存,应将其加载为RGB_888,对吧?但是这样的Bitmap.Config不存在。为什么呢?

它非常适合巨大的JPEG图像。我不介意稍微慢一点的处理。记忆对我来说至关重要。仅仅因为没有RGB_888选项而失去25%的内存会更好吗?

2 个答案:

答案 0 :(得分:0)

我发现这个问题的答案非常依赖于您所处的环境。是否存在阻碍您使用ARGB_8888的内存问题,空间或带宽?如果没有,请使用它。

根据文件,

  

应尽可能使用它。

修改

由于RGB_888不是默认的Bitmap.Config选项,但是RGB_565是2,而使用2个字节而4是ARGB_8888,你最终会回到做出决定的基础上在这种情况下。

您是否愿意降低图像质量并使用内存以获得所需的处理能力?

答案 1 :(得分:0)

不一定,渲染器内部可以设计为在执行图像操作时使用4通道图像。上传3通道图像可以节省内存,但也需要特殊的操作案例。在GPU加速图形的情况下,这可能是一个更大的问题(GPU驱动程序可能会生成虚假的alpha通道)。