안드로이드의 실행환경 구성
- Linux Kernel
- Library(Android Runtime 포함)
- Application Framework
- Application
1. Linux Kernel
안드로이드는 리눅스 위에서 돌아간다. 그리고 리눅스 커널을 사용하여 다양한 하드웨어(Bluetooth, Wi-Fi, GPS, Camera 등), 메모리 관리 등의 작업을 수행한다.
2. Library
스마트폰은 손안에 들어갈 정도로 작은 휴대기기이다. 그렇다면 이러한 휴대기기를 상대적으로 적은 용량을 이용하여 동작시켜야 하기 때문에 libc 혹은 libm와 같은 메모리 소비가 적은 라이브러리가 적합하다. 이 계층에서는 Surface Manager는 Window Manager의 화면 접근에 대한 처리, Media Framework를 통한 오디오 혹은 비디오 코덱 등 각종 음악, 동영상, 사진과 같은 미디어 처리를 담당한다. 그리고 SQLite, SSL(Secure Socket Layer), WebKit 등 뿐만 아니라 실질적으로 안드로이드 앱을 구동해주는 dalvik Virtual Machine과 코어 라이브러리까지 포함하는 영역이다.
3. Application Framework
Linux Kernel과 Library가 C/C++로 작성되었던 것과 달리 이 계층부터는 Java로 작성되었다. 기본적으로 네이티브 라이브러리와 안드로이드 런타임을 추상화 시킨 계층으로서 안드로이드 4대 컴포넌트로 알려진 Activity, Broadcast Receiver, Content Provider, Service 등과 같은 여러 구성요소가 등장하게 된다.
4. Application
마지막 계층은 어플리케이션 계층으로서 안드로이드 구조에서 최상위 계층에 있으며, 이 계층은 실질적으로 동작하게 되는 앱이 설치되는 환경을 제공하게 된다.
'안드로이드 > 알아두기' 카테고리의 다른 글
[안드로이드] Handler와 Looper 에 대하여 (0) | 2021.12.05 |
---|---|
[안드로이드] MVP와 MVVM 패턴에 대하여 (0) | 2021.12.05 |
[안드로이드] 안드로이드 4대 컴포넌트 (0) | 2021.12.04 |
[안드로이드] context에 대하여 (0) | 2021.12.03 |
[안드로이드] 객체 지향 프로그래밍(OOP)에 대해 알아보자 (0) | 2021.03.12 |