В чем разница между PNG и WebP

«В чем разница между PNG и WebP» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

WebP — это современный формат изображений, разработанный Google, который обеспечивает лучшее сжатие (меньший размер файла) по сравнению с PNG, сохраняя при этом качество.

Ключевые отличия:

  • Сжатие: WebP поддерживает lossy (с потерями) и lossless (без потерь) сжатие, PNG — только lossless.
  • Прозрачность: Оба поддерживают альфа-канал, но WebP может сжимать прозрачность эффективнее.
  • Анимация: WebP поддерживает анимацию (как GIF), PNG — нет.
  • Совместимость: PNG поддерживается везде, WebP — не во всех старых браузерах и системах.

Пример использования в Android:

// Загрузка WebP в ImageView (поддерживается с API 14+)  
imageView.setImageResource(R.drawable.my_image_webp)  

Когда выбирать:

  • WebP — для уменьшения размера APK и ускорения загрузки.
  • PNG — если нужна 100% совместимость или работа с простыми изображениями (иконки).