[안드로이드] 안드로이드의 특징과 역사
안드로이드
- 구글의 주도하에 여러 회사들이 Open Handset Aliance 컨소시엄으로 진행하고 있는 모바일 OS
- 2008년 모바일 첫 장비가 출시된 이후, 현재 모바일, TV, wearable, Auto 등으로 범위가 확장되고 있다.
특징
- 운영체제 커널은 리눅스 커널을 기반으로 한다. 오픈소스이기 때문에 여러 제조사에서 커널을 변경하여 배포하기도 한다.
- 공식 개발언어는 자바를 이용하며, 추가적으로 C를 이용해 개발할 수 있는 NDK를 지원한다.
- OpenGL, SQLite 등 검증된 주요 라이브러리를 모두 포함하고 있다.
- 플랫폼에 내장된 빌트인 애플리케이션과 일반 사용자가 만든 프로그램이 동일한 레벨로 취급된다.
- 다양한 제조사, 다양한 기기에 이용되다 보니 파편화 이슈가 심하다.
아키텍쳐
- 리눅스 커널을 이용하여 하드웨어 등 저수준 관리 기능을 담당한다.
- 라이브러리들과 런타임 머신이 커널위의 계층에 존재한다.
- 라이브러리 : OpenGL, SQLite, WEBKit 등
- 런타임 : Dalvic, JAVA 코어 라이브러리, ART(5.0 이후)
- 안드로이드에서 자바 라이브러리 형태로 제공하는 API를 프레임워크 계층에 구현했다.
- 빌트인 프로그램 및 사용자가 만든 프로그램이 응용프로그램 계층에 존재한다.
안드로이드 History
2.1~2.3
- 버전명
- 2.1 : 이클레어 (API 7)
- 2.2 : 프로요 (API 8)
- 2.3 : 진저브레드 (API 9~10)
- 주요 특징
WallPaper
, sd카드에 앱 설치
, 플래시 지원, NFC 지원
, xhdpi 해상도
지원
- 태블릿을 지원하기 직전 OS
- 지금은 사용하는 사람이 없다.(간혹 중소업체의 IoT 디바이스에서 사용)
3.0~3.2
- 버전명 : 허니컴 (API 11~13)
- 주요 특징
Fragment
, ActionBar
등 태블릿 전용 UI 지원, 시스템 Clipboard
지원
드래그 & 드롭
기능 지원
Animator
지원(더 유연한 애니메이션 가능)
- 유일하게 휴대폰과 태블릿으로 쪼개진 버전. (버림받았다.)
- 지금은 사용하는 사람이 없다.
4.0~4.04
- 버전명 : 아이스크림 샌드위치 (API 14~15)
- 주요 특징
휴대폰 & 태블릿 통합 API 제공
- 휴대폰에서도 ActionBar, Fragment 등 3.0에서 추가된 기능 이용가능
- 안드로이드 OS중 하위 버전과 가장 많은 차이를 보인 OS
WifiDirect
지원, 온도계, 습도계 센서 추가, GridLayout
추가
하드웨어 가속
지원(화면 렌더링에 그래픽카드를 이용)
4.1~4.3
- 버전명 : 젤리빈 (API 16~18)
- 주요 특징
- 현재 (${today}) 기준으로 시즌 off된 휴대폰의 최소 버전이다.
- 4.1(API 16)
- 메모리 관리방식
- Camera, Audio 라이브러리 개선
Android Beam
지원
Notification 스타일
변경
- 4.2(API 17)
DayDream
추가
Second Display
지원
잠금화면 위젯
멀티 유저
(다중 계정)
- RTL layout,
- 4.3(API 18)
Bluetooth Low Energy(BLE)
지원
Wi-Fi Scan only Mode
추가(WiFi로 유저의 위치정보를 받기 위해)
- Multimedia 라이브러리 개선
OpenGL 3.0
지원, Mipmap 지원, optical bound layout
추가
- 주소록 API 추가(
Contacts Provider
)
4.4
- 버전명 : 킷캣 (API 19, 20)
- 주요 특징
Print Framework
추가(클라우드 프린팅 가능)
- 오디오 터널링 지원
Storage Access Framework
추가(저장소 접근 방법 변경)
- reusable bitmap, Animator pause 추가
Immersive Full Screen
(전체화면 상태인데 사용자의 터치동작에 따라 상태바가 보여짐)
5.0~5.1
- 버전명 : 롤리팝 (API 21, 22)
- 주요 특징
- 달빅 가상머신을
ART 런타임
으로 대체
64비트
지원
머티리얼 디자인
Heads-Up
알림(기존의 작업을 방해하지 않고 다이얼로그 처럼 사용자의 액션을 받는 노티피케이션)
- 알림 기능 개선(잠금상태에서 알림 받을 수 있음)
- 카메라 성능 개선
- Chromium 엔진을 이용하도록 WebView변경
- 다중 SIM카드 지원
- 아파치 HTTP 클래스 지원 중단
6.0
- 버전명 : 마시멜로 (API 23)
- 주요 특징
Runtime 퍼미션
(앱을 실행할 때 필요한 퍼미션을 요청)
- 배터리 절약 모드(Doze, App Standby 모드) -
Doze모드에서 알람, 비동기 네트워크 처리 등이 제한
되므로 신경써야함
- 텍스트 선택 UI변경
지문인식
지원
- 앱링크
- 구글 드라이브에
자동으로 백업
- 하위 버전에서는 수동으로 구현해야 함
- 블루투스 스타일러스 펜 지원
4K 디스플레이 모드
추가
7.0
- 버전명 : 누가 (API 24)
- 주요 특징
- 향상된 Doze모드 - Doze 동작이 2단계로 변경
- 백그라운드 최적화
CONNECTIVITY_CHANGE
액션을 메니페스트에 등록하여 사용불가(앱 내에서 등록 및 사용은 가능)
ACTION_NEW_PICTURE
, ACTION_NEW_VIDEO
사용불가
- 설정에서 스크린 크기 변경 가능 - 모든 크기의 스크린 사이즈에서 제대로 UI가 구성되는지 확인할 필요 있음
- 멀티윈도우 지원
- JIT/AOT 동시 지원 컴파일러 사용
Vulkan API
사용가능
- Quick Setting 영역의 타일 API 사용가능
댓글 없음:
댓글 쓰기