호랑사과

Minimum Required SDK, Target SDK, Deprecated API 본문

작업실/안드로이드

Minimum Required SDK, Target SDK, Deprecated API

호랑사과 2015. 2. 24. 00:40

|Minimum Required SDK란?


  어플리케이션을 만들 때 최소로 필요하는 SDK 버전을 뜻하며 하위 호환성에 대한 설정이다. 4.4같은 플랫폼 버전보다 API 버전이라는 라이브러리 버전으로 구분을 한다. API 버전은 API 레벨, 또는 SDK 버전이라고도 불린다. 

  API 버전이 낮을수록 구동할 수 있는 API 버전이 다양한 디바이스의 수가 많아진다. 하지만 최신 API 버전의 기능이 사용할 수 없는 것이 문제이다. 답은 현재 사용자가 어느 버전을 많이 사용하고 있는지 파악하고 그것을 기준으로 API 버전을 선택하면 될 것이다. 사람들이 어느 버전을 많이 사용하는지는 이곳에서 확인할 수 있다.

  Minimum Required SDK 버전을 사용하면 Deprecated API를 사용하는 실수를 저지를 수 있다. 



|Target SDK란?


  어플리케이션을 개발할 때 목표로 할 안드로이드 디바이스 API 버전을 뜻한다. 각 API 버전별로 시스템에서 제공하는 어플리케이션 테마와 시스템 동작 정책이 다르다. 대표적으로 API 10까지는 일반 라이트/블랙 테마(진저브레드의 디자인)를 사용을 하고 API 11부터는 홀로 라이트/블랙 테마(4.0.X, 아이스크림 샌드위치부터)를 사용한다. 

  시스템 동작 정책의 차이는 다음과 같다. API 10 이상은 메인 스레드에서 네트워크 관련 API를 사용하는 어플리케이션을 강제로 종료하는 스트릭트 모드(Strict Mode)정책이 적용된다. 이는 언제 응답이 올지 모르는 네트워크 작업으로 인해 화면이 멈추는 상황을 막기 위해서 정책이 실행된다. 반대로 API 9 이하는 이 정책이 없는데 이를 기반으로 개발한 어플리케이션은 최신 단말기(API 10 이상인)에서 사용할 수가 없다. 그렇기에 타깃 SDK 버전은 주로 테스트하는 단말기의 SDK 버전에 맞춘다. SDK 버전이 높을 수록 어플리케이션의 안정성을 위한 정책들이 많기 때문에 최대한 상위 버전의 개발 단말기를 사용하는 것이 좋다. 



|Deprecated API란?


  권장하지 않는 API라고 할 수 있는데 이를 사용하면 성능, 메모리 누수, 보안 등의 문제가 발생할 수 있다. 그렇기에 이클립스에서 취소선을 그어서 경고를 한다. 하지만 API 8 이전 버전은 권장하지 않는다는 정보가 포함되어있지 않아 자기도 모르게 사용할 수 있다. 개발할 때 최신 API 버전 라이브러리로 변경을 해보면서 Deprecated API가 있는지 확인을 하는 것이 중요하다.


출처 : 이것이 안드로이드다 - 박성은의 안드로이드 앱 프로그래밍

*


안드로이드 서적을 처음 보기 시작했는데 이 책 두께가 만만치 않네요. 


책 보다가 중요한 것이 나오면 이해하기 위해 이렇게 정리를 해서 올릴껍니다.