[안드로이드학??] Androidology - Part 1 of 3 - Architecture Overview
Androidology - Part 1 of 3 - Architecture Overview
안드로이드에 대해 아키텍처 요약을 정리해 보겠다. 사실 내용은 동영상에 있으니 참조하시기 바란다.
System architecture
. linux 2.0.6 커널
왜 리눅스 커널을 사용했는냐면, 검증된 드라이버들이 있었기 때문이라고 한다.
. 라이브러리 : C++
surfce manager - 다른 윈도우, app
OpenGL
SGL, SSL, Media Framework (Audio video codec)
FreeType
. Android Runtime
- core libraries : 자바프로그램
-
. 효과적인 메모리사용, 데이터 구조
. App frameworks
- Activity manager
- Package manager : 다운로드, 설치관련
- Window manager
- Telephony manager
- Content Provider : 전화번호,..
- Resource Manager :
- View system : 레이아웃, 드로잉등...
. APP
- Home , Contacts, Phone, ...
Application Building Blocks
- Activity : UI 콤포넌트를 한 화면에 일치시키는 것.
- InternetReceiver : 상태변화에 응답하는 것, 당신의 프로세스를 깨울 수 있다.
- Service : 숨겨진 태스크로 UI가 없이 동작한다.
- ContentProvider : 자료를 다른 프로세스와 공유할 수 있는 application
Replacing & Reusing components
콤포넌트들은 Home , Contacts , GMail , MMs 등이 존재하는데 그 특징은 아래와 같다.
. 클라이언트 콤포넌트는 특정동작에 대해 응답한다.
. 시스템은 그 동작에 대해 최상의 콤포넌트를 선택한다.
예로 GMail에서 "Pick photo"라는 동작을 했다고 하면, 시스템은 Photo Gallery 라는 APP 콤포넌트를 선택한다.
. 콤포넌트들은 언제라도 교체될 수 있다.
위의 Photo Gallery는 Picasa APP로 바뀔 수도 있다.
. 새로운 콤포넌트들은 원래 있던 기능들을 사용할 수 있다.
만약 블로거 APP를 추가했다면 Photo 기능을 사용할 수 있다.
이 기능들은 매우 중요한데, 모든 콤포넌트들에게 기능을 사용할 수 있는 기회를 제공한다.