티스토리 뷰
앱 개발자 관점에서 플랫폼의 아키텍처를 자세히 이해하기나 응용할 필요는 없다고 한다.
하지만 안드로이드 플랫폼이 어떻게 설계되었는지 앱이 어떤 환경에서 수행되는지를 조금 아는 것도 좋을 거 같아서 이 부분을 조금 공부를 해보았습니다. ㅎㅎ
안드로이드 플랫폼은 리눅스 커널 기반이라고합니다. 여기서 HAL은 자바 API 플레임 워크에 하드웨어 가능을 이용하는 표준 인터페이스를 제공한다고 합니다. 자바 API 플레임 워크에서 하드웨어 기기를 이용하기 위한 코드가 실행되면 내부적으로 HAL의 라이브러리 모듈이 로딩되어서 처리를 한다고 합니다.
안드로이드 런타임은 ART 가상 머신을 이용하여 그위에 일반 애플리케이션 개발 시 이용할 수있는 자바 API 플레임 워크를 제공합니다. 대부분 앱 개발자들은 이 자바 API 플레임 워크에서 제공하는 다양한 클래스를 이용해 앱을 개발한다고 합니다.
여기서 안드로이드 런타임을 조금만 더 보시면 자바로 개발된 다른 애플리케이션은 런타임때 JVM이 수행하지만 안드로이드의 VM은 ART를 이용한다고 합니다.
그리고 앱을 개발할때 안드로이드 앱 개발자 관점에서 가장 중요한 요소는 '자바 API 플레임 워크'라고 합니다.
이것은 개발자가 안드로이드 앱을 만들 때 이용하는 표준 라이브러리라고 합니다.
자바 API 플레임워크는 많은 기능의 라이브러리 클래스를 제공하지만 대포적으로 UI를 구성할 수 있는 VIEW 클래스부터 리소스 관리 데이터 영속화 등의 기능을 제공한다고 합니다.
'안드로이드공부' 카테고리의 다른 글
안드로이드 기초 속성 실습 2 (0) | 2020.08.30 |
---|---|
안드로이드 뷰의 기초 속성 실습! (0) | 2020.08.30 |
(3) 안드로이드 앱 개발 특징에 대해서 알아보자! (0) | 2020.08.29 |
(2)안드로이드 hellow world! 프로젝트 생성 (+avd) (1) | 2020.08.29 |
(1)안드로이드 공부를 해보자 ㅎㅎ (2) | 2020.08.29 |