我对WebP有以下疑问:
我能将项目中的所有PNG/JPEG图像转换并使用WebP格式吗?
还是只能将特定的PNG/JPEG图像转换为WebP格式并在项目中使用,例如仅限横幅图片?
是的,您可以将所有PNG / JPEG转换为WebP格式。没有规定只有横幅图像可以转换为WebP格式。如果您真的担心应用程序的apk大小,那么将项目中使用的图像转换为WebP是一个好习惯。
当将图像转换为WebP格式时可能会遇到的问题,我已经遇到过:
如果您已经在项目中使用.webp图像,则lint将检查两个内容:如果minSdkVersion小于15,则无法使用.webp(除非.webp图像在-v15文件夹或更高版本中)。如果您的minSdkVersion小于18,则它将查看.webp文件的实际内容,如果发现它正在使用透明度或无损编码,则会发出警告,说明这需要API 18。(再次将这些文件夹放在-v18或更高版本中是可以的。)
最重要的是:
WebP是谷歌推出的一种图像文件格式,它提供了有损压缩(像JPEG)以及透明度(像PNG),但可以比JPEG或PNG提供更好的压缩效果。Android 4.0(API级别14)及更高版本支持有损压缩的WebP图像,而Android 4.3(API级别18)及更高版本则支持无损和透明的WebP图像。如果您的最低SDK版本小于18,则无法转换带有透明度或Alpha通道的文件。
根据Android文档:
您还可以选择跳过任何编码后比原始文件更大的文件,或者跳过具有透明度或Alpha通道的文件。因为只有在将minSdkVersion设置为18或更高版本时,Android Studio才允许您创建透明的WebP图像,所以如果您的minSdkVersion低于18,则自动选择“跳过具有透明度/alpha通道的图像”复选框。
除此之外没有其他限制。