如果我有一个gridview,并且我将网格缩略图背景以编程方式设置为BLACK,那么它会消耗更多CPU而不是白色吗?
holder.ivImageThumbnail.setImageDrawable(null);
holder.ivImageThumbnail.setBackgroundColor(Color.WHITE);
答案 0 :(得分:1)
我不认为您会在CPU上看到任何性能变化。在Android中,您不会注意到背景颜色内存的使用情况,因为您正在使用GridView
。 GridView
会回放其视图,因此在重新使用旧视图之前,只有x个项目可以设置为其子视图,因此您不必担心背景的颜色。
您可能会看到使用白色而非黑色的内存使用量发生微小变化,因为白色包含的数据量大于黑色。白色的RGB值为[255,255,255],其中黑色为[0,0,0],大小也取决于图像中的位数。
如果您使用JPEG压缩拍摄500x500白色图像并将其与带有JPEG压缩的黑色500x500图像进行比较,您将看到超过20Kib的差异。将其更改为PNG,由于PNG添加到压缩的alpha值,因此范围会更加不同。这不应该是一个问题,因为您正在使用View
Canvas
。