Android ImageView - setAlpha(float) 与 setImageAlpha(int)

Android ImageView - setAlpha(float) vs setImageAlpha(int)

使用 this 答案作为参考,我了解到 View's setAlpha(float) 基本上在缓冲区上正常绘制视图,然后使用第二遍绘制视图alpha 值,因此,设置 View's alpha 通常会损害应用程序的性能。

但是,ImageViews 有另一种方法称为 setImageAlpha(int),根据我收集到的信息,该方法将 alpha 值应用于 ImageView's 滤色器 - 无需第二个一起通过,因此效率更高。

我的问题是 - 由于在 ImageView 上使用 setImageAlpha 效率更高,是否有任何理由在 ImageView 上使用 setAlpha(float)?或者一般应该避免这种情况以支持 setImageAlpha(int)?

从这些方法的字面意思来看,我猜setImageAlpha只设置图像的alpha 。如果图像视图有背景,则背景不会是半透明的。但是 setAlpha 设置 整个 视图的 alpha 值。