본문 바로가기

안드로이드/신입 안드 개발자를 위한

[And] Drawable 과 Mipmap 폴더 활용하기

반응형

이미 익숙하게 사용하는 사람들도 있겠지만 저도 처음엔 많이 두 폴더의 사용이 헷갈려 잘못 사용하고 있었습니다.  오늘 포스팅에서는 정의와 제가 사용하고 있는 방법을 공유하고자 합니다.

Mipmap

프로젝트를 생성하면 같은 이름의 폴더가 밀도별로 5개가 생성됩니다. 생성된 폴더엔 'ic_launcher' 라는 이미지가 각각 들어가 있는데 클릭해보면 크기가 조금씩 다릅니다. 해상도에 관한 자세한 내용은 추가 검색을 통해 어떤 차이가 있는지 찾아보셔서 어느정도 개념을 익혀야 합니다. 

구글에서도 mipmap 폴더는 아이콘 이미지를 보관하는 용도로 정의하고 있으며 각  해상도는 디바이스에서 사용하는 런처마다 다르게 대응됩니다. 디바이스 한줄에 3개의 아이콘을 노출하는 런처를 사용한다면 조금 더 큰 해상도의 이미지를 사용하고 4개 아이콘을 노출하는 런처는 보다 작은 해상도의 이미지를 자동으로 선택해서 사용해 런처마다 어색하지 않도록 합니다. 

Drawable

Drawable 폴더는 xml 코드로 도형을 만드는 일반 폴더와 디바이스 밀도 따라 이미지를 보관하는 용도의 폴더 2가지로 나뉩니다. 일반 폴더는 프로젝트를 생성시 포함돼 있지만 해상도에 따른 폴더는 'drawable-xxxhdpi' 처럼 각 해상도를 명시해서 생성하면 됩니다.

Drawable폴더 생성

mipmap폴더와 같이 밀도별 크게 5개로 구분됩니다. ( 테블릿 제외,  hdpi ~ xxxhdpi) 그럼 여기서 의문점이 생길 수 있는 부분이 'Drawable폴더도 해상도별로 생성하고 같은 이미지를 해상도별로(5개씩) 넣어야 하나?' 입니다. 

정답이라고 말씀드리긴 어렵지만 저는 구글 유저나 앱의 타겟이 되는 대상 유저들의 분포가 높은 해상도를 선택해서 한가지 폴더만 사용합 니다.  (xxxhdpi)

한가지만 선택해서 할 경우 이미지가 차지하는 용량이 1/5로 줄어들며 작은 해상도의 경우에도 큰 이미지를 작게 해서 보여주는데 이미지는 문제 없이 노출됩니다. 반대로 작은 해상도를 선택해서 이미지를 추가 했을 경우 큰 해상도 폰에서 볼 경우 예민한 유저들에겐 깨져 보일 수 있기 때문입니다. 

 

앱을 운영할수록 사이즈가 커지기 때문에 미리미리 용량 이슈에 대응하면 좋습니다. 나중에 한번에 하려면 번거롭고 사이드 이슈로 인해 시작 조차 어려운 경우도 많기 때문입니다. 

 

 

 

혹시 다른 방법으로 구현하고 있거나, 잘못된 점을 지적해주시면 수정하도록 하겠습니다. 감사합니다.

 

반응형