쏭식
Ssongcode;
쏭식
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • JAVA (21)
      • Basic (21)
    • Kotlin (14)
      • Basic (14)
    • Android (64)
      • Basic (24)
      • JETPACK (30)
      • Compose (8)
      • 파고들기 (2)
    • Project (4)
    • etc (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • mvvm
  • 기초100제
  • Room
  • 메소드
  • 자바
  • Android
  • 상속
  • 리사이클러뷰
  • 코틀린
  • ViewModel
  • 코틀린코테
  • 백준
  • 코테
  • 객체지향
  • livedata
  • AAC
  • 코드업100제
  • 자료구조
  • 코딩테스트
  • 알고리즘
  • Jetpack
  • Kotlin
  • compose
  • 컴포즈
  • DataBinding
  • workmanager
  • 프로젝트회고
  • 변수
  • 배열
  • Adapter

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
쏭식

Ssongcode;

Android/Basic

[Android] PNG vs SVG 어떤 것이 정답일까?

2022. 4. 22. 23:59

PNG

안드로이드 개발을 시작하면서 디자이너가 디자인한 아이콘, 이미지 등을 보통 PNG로 받아왔다.

하지만 해상도에 따라 이미지의 사이즈가 나의 의도와는 다르게 바뀌는 경우가 있었다....

 

바로 src 에 PNG파일을 그대로 넣어서 사용했는데, 이렇게 하면 위와 같은 문제가 발생했고,

많이 찾아보다가 안드로이드에서 이를 방지하기 위해 drawable 폴더를 dpi값에 따라 나누었다고 한다.

 

따라서 디자이너가 다양한 안드로이드의 기기들의 크기, dpi, 해상도별

다른 사이즈로 PNG를 제공해야 한다는 단점이 존재했다....

 

이거 때문에 여태까지 어떤 이미지는 내가 원하는 만큼 잘 나왔지만..

어떤 이미지는 해상도가 많이 깨지는 문제가 발생했다

 

SVG

png를 사용하지 않고, svg를 사용할 경우에는 디자이너가 따로 이미지를 만들 필요가 없다.

png는 픽셀기반이지만, svg그래픽은 벡터기반으로 되어있다.

 

따라서 어떤 사이즈로든 자유롭게 사용가능하기 때문에 스타일을 쉽게 수정할 수 있는 장점이 있다.

크기를 줄이든, 늘리든 png 해상도가 깨지거나 하는 문제점이 없다.

 

또한, svg의 파일사이즈가 png보다 작아 전체 파일의 크기가 작아지고, 시간도 빨라진다는 장점 또한 있다!!

 

하지만 안드로이드에서 svg파일을 바로 사용하지 못해, xml로 변환하여 사용해야한다!!

 

PNG SVG 둘 중 뭐가 정답이다! 라고 할 수는 없고, 취향마다 선호하는 형태가 다를 것 같다.

그래도 이미지가 깨지는 문제와 속도 문제를 동시에 해결할 수 있으니

조금 귀찮더라도 나는 svg로 사용해봐야겠다.

 

저작자표시 (새창열림)

'Android > Basic' 카테고리의 다른 글

[Android] Splash 화면 만들기  (0) 2022.04.24
[Android] SVG 사용하기  (0) 2022.04.23
[Android] width, height 0dp로 설정하기  (0) 2022.04.21
[Android] ViewPager를 이용한 TabLayout  (0) 2022.04.20
[Android] ViewPager 로 Banner 구현  (0) 2022.04.19
    'Android/Basic' 카테고리의 다른 글
    • [Android] Splash 화면 만들기
    • [Android] SVG 사용하기
    • [Android] width, height 0dp로 설정하기
    • [Android] ViewPager를 이용한 TabLayout
    쏭식
    쏭식

    티스토리툴바