본문

170321(화) - Android 구조

Android Memory 구조


플랫폼 아키텍쳐

- Linux 기반

- ART(Android RunTime)은 Threading 및 하위수준 메모리 관리에서 Linux 커널을 사용



HAL (Hardware Abstraction Layer)


- Java API Framework에 하드웨어 기능을 노출하는 표준 인터페이스를 제공

- Framework API가 하드웨어에 엑세스하기위해 호출을 수행 -> Android 시스템 -> 하드웨어 구성요소에 대한 라이브러리 모듈 로드



ART (Android Runtime)

- Android 5.0 (API Level 21) 이상에서는 각 앱이 자체 프로세스 내에서 ART 인스턴스로 실행

- DEX 파일을 실행하여 저용량 메모리 기기에서 여러 가상머신을 실행하도로 작성

DEX : ㆍ Android용으로 특별히 설계된 바이트코드 형식

  ㆍ 최소 메모리 공간에 맞게 최적화


- 주요기능

ㆍ AOT(Ahead-Of-Time) 및 JIT(Just-In-Time) 컴파일

ㆍ 최적화된 GC

ㆍ 전용 샘플링 프로파일러

ㆍ 상세 진단 예외 및 크래시 보고

ㆍ watchpoint 설정으로 특정 필드 모니터링 (향상된 디버깅 지원)


- Android 5.0(API Level 21) 이전버전에서는 Dalvik이 ART

ㆍART 제대로 실행 -> Dalvik 제대로 실행

ㆍ반대의 경우 보장 불가


- Java 프로그래밍 언어 기능을 제공하는 핵심 런타임 Library도 포함



Native C / C++ Library

- ART, HAL 등 많은 핵심 Android 시스템 구성요소 및 서비스는 Native로 작성

- Java 프레임워크를 통해서 Native 기능을 앱에 노출

- Android NDK를 사용하여 Native Platform Library에 액세스 가능



Java API Framwork

- Android OS의 전체 기능은 Java로 작성된 API를 통해서 액세스 가능

- 모듈화 및 서비스 재활용

ㆍ 확장가능한 View 시스템

ㆍ Resource Manager

ㆍ Notification Manager

ㆍ Activity Manager 

ㆍ Content Provider



System App

- Android에는 기본 App이 내장되어 있음

- App에서 액세스 할 수 있는 주요 기능 제공

ex ) SMS 메시지 제공시 SMS앱 호출



'Mobile > Android API' 카테고리의 다른 글

170411(화) - System permission  (0) 2017.04.11
170411(화) - Device Compatibility  (0) 2017.04.11
170328(화) - App 기본 항목  (0) 2017.03.28
170328(화) - ART & Dalvik  (0) 2017.03.28
170328(화) - DEX (Dalvik Executable format)  (0) 2017.03.28

공유

댓글