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 值。
使用 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 值。