Android 개발/Android UI

안드로이드 Webp이용해 이미지 용량 줄이는 방법

Developer88 2024. 11. 15. 14:55
반응형

앱의 용량을 줄이고 로딩속도를 늘이는데,

코딩도 중요하지만 이미지 용량을 줄이는 것도 중요합니다.

안드로이드 스튜디오를 이용하면,

이미지 파일을 Webp로 전환하하여 용량을 크게 줄일 수 있는데요.

오늘은 이 방법을 알아보겠습니다.

 

1. Webp 이미지 파일

Webp는 Google에서 만든 이미지 파일형식입니다.

안드로이드와 안드로이드 스튜디오에서도 사용이 가능한데요.

사실 저희에게는 거창한 알고리즘 보다,

png나 jpg보다 얼마나 사이즈를 줄일 수 있느냐가 중요한데요.

약 70%까지도 줄일 수 있다고 합니다.

 

2. 손실 압축 방식과 무손실 압축 방식

webp는 JPEG와 같은 손실압축방식과 PNG와 같은 무손실 압축방식을 모두 다 지원하는데요.

API레벨 18이상에서는 PNG와 같은 무손실 압축과 투명배경 지원도 가능합니다.

(이제는 API레벨21도 많아졌지요)

 

그럼 실제로 사용하는 방법과 결과를 보도록 하겠습니다.

 

3. 안드로이드 스튜디오에서 webp로 이미지 전환하기

안드로이드 스튜디오에서 webp로 이미지를 전환하는 방법은 간단한데요.

Drawable폴더에서 이미지를 선택한 후에,

우측 마우스를 클릭해,

Convert to Webp를 찾아서 선택해 주면 됩니다.

 

나오는 메뉴의 맨 하단에 있습니다.

(참고로 webp이미지를 오른쪽 마우스 클릭하면 Convert to Png가 나와서,

다시 png로 변환할 수 있는 기능도 안드로이드 스튜디오가 제공하고 있습니다.)

 

 

 

클릭해보면 아래와 같은 화면을 볼 수 있습니다.

 

두번째의 Lossless encoding방식이 위에서 무손실 압축이라고 했던 투명배경을 사용할 수 있는 방식이구요.

API18이상에서 사용할 수 있는 방식입니다.

 

아래 이미지에서는 손실압축인 Lossy encoding이 선택되어 있는데요.

70-80% 정도면,

웹이나 모바일 기준으로,

눈으로 차이를 거의 느끼지 못하면서도 파일 크기를 크게 줄일 수 있습니다.

 

참고로 "Skip files where the encoded result is larger than the original"를 선택해 주면,

WebP로 변환했을 때 오히려 파일 크기가 커지는 경우에는 skip한다는 것이니 꼭 해줘야 겠지요.

 

 

 

이제 OK를 클릭해 보면 아래와 같이 Preview할 수 있는 화면이 나옵니다.

아래의 레버를 좌우로 왔다갔다하면서 압축률을 수정하면 preview화면을 볼 수 있습니다.

 

아래 이미지를 보시면 실제 용량의 4%수준으로 줄은 것을 알 수 있습니다.

물론 해당 이미지는 압축률이 낮은 상태로 들어온 jpg이기는 하지만,

실제 jpg를 더 압축한 것보다도 약 50%정도 낮은 용량이 나왔습니다.

(실제 사용한 이미지는 앱에서 사용된 큰 배경 사진이미지로 아래에서는 패턴으로 가려둔 것입니다.)

 

 

finish를 하면 안드로이드 스튜디오가 기존의 jpg나 png는 삭제해주고,

webp만 저장해 줍니다.

 

3. 정리

매우 간단하면서도 쉽게 용량을 줄여주는 webp인데요.

안드로이드 앱 사용량을 줄여주는데 큰 도움이 됩니다.

 

다만, 항상 변환 후 이미지 품질을 체크해 주어야 합니다.

특히 로고나 텍스트가 포함된 이미지의 경우, 

더 높은 품질 설정이 필요할 수 있습니다.

728x90