JPG在Android中真的是唯一可接受的格式吗?

16

Android支持三种图像格式,分别为:

PNG(首选),JPG(可接受)和GIF(不鼓励使用)。 来源:http://developer.android.com/guide/topics/resources/drawable-resource.html#Bitmap

为什么JPG只被列为可接受的格式呢?因为JPG相比于PNG在不透明图像方面占用更少的空间难道不是更好的选择吗?

还是说PNG在运行时表现得更好,即使它们往往会使APK文件变得更大,但把全屏背景图像等保存为PNG格式仍然值得吗?

我对许多包含大量图形的应用程序占用我内部存储空间的情况并不满意,因此我的内部存储空间一直都很满。我的猜测是,这些应用程序在这方面没有进行良好的优化,因为开发人员指南中说PNG是首选格式而没有解释其原因。有人能否告诉我,如果非透明图像应该使用JPG格式是否正确?


这是一个好问题。我相信有原因,但它们隐藏在我们看不到的细节中。总的来说,我认为对于嵌入式操作系统来说,使用一种图像格式作为本地格式是很好的选择,因为这样可以减少多样性和猜测。JPEG确实有更好的压缩方案,但就像PNG一样,也有很多变体。JPEG2000比普通JPEG具有更好的质量等等,但PNG也是如此。关于PNG格式,我确定的一件事是它不必使用alpha通道。纯RGB PNG编解码器也是Android本地支持的。 - Phonon
我们这里刚刚有同样的问题。对于WP8,我使用带透明度的png图像和不带透明度的jpeg图像。98%质量的jpeg看起来仍然很棒,但已经开始节省10-20%的空间。在一个案例中,我用75%的质量保存了图像,你仍然看不到伪影(或者只有非常少的...源图像也不完美)。在另一个案例中,85%质量的jpeg看起来已经很糟糕了,我们将为此导出新的图像。因此,仅仅说“压缩图像看起来很糟糕”是错误的。 - ecth
2个回答

4

好的文章,让我更好地了解了安卓。希望更多的开发者在适当的情况下使用 .jpg 格式。大型应用文件填满安卓内部存储并不好! - likebobby
7
这篇文章有很多地方很糟糕:“色彩和对比度- .jpg格式的颜色更丰富,更饱和。.png格式看起来淡了。”这与格式无关,与Photoshop导出滤镜有关。 - Steve-o

3

PNG是无损的,而JPEG是有损的。我希望PNG在缩放方面能稍微好一些,但如果你可以接受JPEG的质量,那么使用JPEG也是合适/可接受的。


2
此外,PNG支持透明度。 - user146043
1
很可能是因为许多设计师不理解有损压缩对于图形而言(相比摄影),看起来真的很糟糕。 - Steve-o

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接