我经常从Photoshop中导出PNG图像供iPhone应用使用,使用“保存为Web和设备”功能。即使图像没有透明部分,我也总是保留透明选项。这是因为我认为如果图像没有透明区域,则它不会产生影响,而且保持选项选择更容易。
最近有人告诉我,这样做会有效地忽略UIImageView
的不透明属性,因为UIImage将具有一个alpha通道,对性能产生负面影响。
这是正确的吗?如果从Photoshop导出PNG时不需要透明选项,我应该关闭它吗?
我经常从Photoshop中导出PNG图像供iPhone应用使用,使用“保存为Web和设备”功能。即使图像没有透明部分,我也总是保留透明选项。这是因为我认为如果图像没有透明区域,则它不会产生影响,而且保持选项选择更容易。
最近有人告诉我,这样做会有效地忽略UIImageView
的不透明属性,因为UIImage将具有一个alpha通道,对性能产生负面影响。
这是正确的吗?如果从Photoshop导出PNG时不需要透明选项,我应该关闭它吗?
UIImageView
或其opaque
属性没有任何影响,除了需要加载到UIImageView.image
属性的图像数据量。由于带有透明度的图像通常比没有任何透明度的相同图像具有更大的数据量,因此在设置它时(imageView.image = [UIImage imageNamed:@"myTransparentImage.png"];
),加载到UIImageView.image
中会花费稍微长一点的时间。当然,除非使用不同的质量/压缩/格式/色深等从Photoshop导出。
您可以使用Instruments应用程序及其System Usage、Time Profiler和/或Activity Monitor模板验证所有这些内容,并查看每个不同图像的确切时间、I/O、内存等信息。