IT/안드로이드

[1] 안드로이드 기본 이론

Lyk 2023. 6. 27. 21:20
728x90
반응형

소개

- 구글이 제작한 스마트폰 OS로 2008년에 출시

- 운영체제, 미들웨어, 주요 애플리케이션을 포함

- 현재(2023) Java, Kotlin 둘 다 지원

더보기

참고로 Kotlin 이 Java 코드로 바뀐 후 컴파일되어 실행되는 원리!

 

특징

1. 애플리케이션 프레임워크 제공

2. ART 가상머신

더보기

예전엔 Dalvik(달빅)이었는데, 달빅은 자바언어로 만들어진 가상머신으로 실행할 때마다 기계어로 변환되어 매우 느림. 이의 업그레이드 버전이 ART(안드로이드 런타임). Java 코드를 가진 어플이 단말기에 설치될 때 단말기에 맞는 기계어로 변환되어 설치됨. 이후 속도가 매우 빨라짐.

3. Open GL ES 3.x 기반 3D 그래픽 지원

4. SQLite 데이터베이스

더보기

단말기 내부에서 대용량 데이터 관리 가능

5. 다양한 미디어 지원

6. Android Studio IDE 제공

7. 센서 등 다양한 하드웨어 지원

 

구조

1. 리눅스커널 : OS 자체가 리눅스 기반

2. HAL(할) : 리눅스 커널과 하드웨어 기기간의 인터페이스 부분. 단말기 제조사가 드라이버를 구현할 수 있도록 제공되는 계층.

더보기

안드로이드는 단말기 종류가 많고 사용하는 제조사마다 다 다름. 단말기 제조사가 HAL 을 통해 드라이버를 만듦.

HAL 은 OS 가 사용하는 부분과 단말기 제조사가 만들어야하는 부분 두 가지로 나뉘어져 있다.

3. ART : 안드로이드 애플리케이션을 구동하기 위한 가상머신

4. Native C/C++ : 안드로이드 OS가 애플리케이션 및 기능들을 구동하기 위해 사용하는 라이브러리. 개발자가 Java나 Kotlin 으로 만들어진 API 를 이용하면 여기에 구현되어 있는 C 코드가 동작.

5. Java/Kotlin API : 개발자가 애플리케이션을 제작할 때 사용하는 라이브러리(내부적으론 Native C/C++ 로 처리됨)

6. 시스템 앱 : OS 내부에 저장되어 있는 애플리케이션으로 개발자가 애플리케이션을 개발할 때 일부기능을 가져다 사용할 수 있다.

 

안드로이드 X 라이브러리

안드로이드의 지속적인 버전 업데이트로 상,하위 버전간 차이가 벌어졌는데, 상위버전의 기능을 하위버전에서 사용할 수 있는 Support 라이브러리가 추가되었으나, 이 라이브러리도 버전별로 나뉘게 되어 안드로이드 10 버전부턴 Android X 라는 이름의 라이브러리로 통합.

더보기

단, 안드로이드 앱에 위 라이브러리가 추가됨으로 인해 앱용량이 전보다 더 커짐

 

728x90
반응형