본문 바로가기

Develop/Android

안드로이드 구조


[ 안드로이드 구조 ]

 

 

커널은 저수준 관리 기능을 담당한다. 백그라운드 스레드, 메모리 관리, 보안, 디바이스 드라이버 등.

 

라이브러리는 장비의 전반적인 속도를 결정하는 중요한 요소여서 자바가 아닌 C로 작성되어 있다.

라이브러리들은 대부분 충분히 테스트된 것이어서 C언어로 작성된 것이지만 신뢰성이 보장된다.

-BSD 파생 libc 라이브러리

-젝터 폰트 출력을 위한 FreeType

-오디오, 비디오 재생

-2D 그래픽을 위한 서피스 관리자 및 SGL

-3D 그래칙을 위한 OpenGL

-데이터베이스 지원을 위한 SQLite

-인터넷 브라우징을 위한 SSL과 크롬, 사피리에 채용된 WebKit

 

 

런타임은 달빅 가상 머신과 자바 코어 라이브러리로 구성된다.

안드로이드는 자바 가상 머신을 직접 사용하지 않으며 모바일 환경에 최적화한 달빅(Dalvik) 가상 머신을 사용한다.

달빅은 안드로이드 전용의 가상머신이므로 자바 클래스를 바로 실행할 수는 없으며 클래스 파이을 dex 포맷으로 변환해야만 실행 가능하다.

 

프레임워크는 안드로이드의 API이다. 응용 프로그램들은 하위의 커널이나 시스템 라이브러리를 직저적으로 호출할 수 없으며 API를 통해서 기능을 요청해야 한다. API는 하드웨어 액세스를 추상하하며 UI 제작에 필요한 위젯을 정의하고 시스템 라이브러리와 통신할 수 있는 래퍼를 제공한다.

 

 

- 참고 : 안드로이드 프로그래밍 정복

'Develop > Android' 카테고리의 다른 글

eclipse - failed to create the java virtual machine 에러  (0) 2013.04.15
Invalid file name: must contain only [a-z0-9_.]  (0) 2013.04.12
SQLite3 error  (0) 2011.12.14
SQLite3 error  (0) 2011.12.12
안드로이드 특징  (0) 2011.11.22