아키텍처란 프로세스와 전체적인 구조나 논리적 요소들로 쉽게 말해서 전체적인 그림이라고 보면 편하다.
다음은 안드로이드의 아키텍처이다.
안드로이드 아키텍처는 다음처럼 커널 -> 라이브러리 -> 어플리케이션 프레임워크 -> 어플리케이션의 순으로 되어있다.
각가의 설명은 아래쪽에서 간략하게 이어나가겠습니다.
리눅스 커널
- 안드로이드 플랫폼의 기반
- 스레딩 및 하위 수준의 메모리 관리와 같은 기본 기능에 Linux 커널을 사용함
- Linux 커널을 사용하면 Android가 주요 보안 기능을 활용하고 제조업체가 널리 알려진 커널용 하드웨어 드라이버를 개발 할 수 있음
- 일반적으로 안드로이드 개발자가 다룰 영역은 아님
라이브러리
- 자바 라이브러리의 대부분 기능을 제공함.
- C/C++로 구성된 라이브러리
- 개발자의 개발을 돕기 위한 구성들로 개발자는 라이브러리를 통하여 빠르게 개발을 진행할 수 있음
달빅 VM
- Java의 JVM과 같은 역할로 컴파일 및 실행을 담당
- 5.0(롤리팝)부터는 달빅VM은 폐기되고 ART가 담당
어플리케이션 프레임워크(Java API 프레임워크로 명칭이 변경됨)
- 안드로이드에서 제공하는 앱 개발 시 도움이 되는 모듈식 시스템 구성요소
- 간단한 재사용 컴포넌트들로 기능이 풍부하며 확장 가능한 뷰들을 제공함
- Resource Manager: 현지화 된 문자열, 그래픽 및 레이아웃 파일과 같은 코드가 아닌 리소스에 대한 엑세스 제공
- Notification Manager: 모든 앱이 상태 표시줄에 사용자 지정 알림을 표시할 수 있도록 지원
- Activity Manager: 앱의 수명 주기를 관리하고 공통 탐색 백 스택 제공
어플리케이션(시스템 앱으로 명칭이 변경됨)
- 이메일, SMS 메시징, 전화, 캘린더 등의 기본 제공 앱
- 시스템 앱은 사용자를 위한 앱으로도 작동하고 개발자가 자신의 앱에서 액세스 할 수 있는 주요 기능을 제공하기 위한 용도로도 작동
'나는개발자다!! > Android' 카테고리의 다른 글
안드로이드썰 HAXM 에러 (0) | 2018.10.20 |
---|---|
01 - 안드로이드의 시작.... 개발 환경 구축썰 (0) | 2018.10.17 |
04 - 안드로이드 SDK 설치 썰 (0) | 2014.07.31 |
03 - SVN 셋팅 썰 (0) | 2014.07.30 |
02 - 이클립스 셋팅 (0) | 2014.05.30 |