배경 상관관계 및 시스템 아키텍처 분석
1. Android 배경 및 현재 상태
Android 시스템은 Andy Rubin이 만들었고 나중에 Google에 인수되었습니다. Android 버전 1.1 최신 버전은 올해 5.28이며, 안드로이드 M은 구글 I/O 컨퍼런스에서 출시됐다. 흥미롭게도 안드로이드 시스템의 이름은 모두 스낵의 이름을 따서 명명됐다. 다음 표에는 15개의 안드로이드 버전 이름과 해당 API 번호, 출시 시간이 나와 있다. !
시스템 버전 이름 | API 버전 번호 | 출시 시간 |
---|---|---|
Android 1.5: Cupcake: Cupcake | 3 | 2009.4.30 |
Android 1.6: 도넛: 도넛 | 4 | 2009.9.15 |
Android 2.0/2.0.1/2.1: Eclair: Muffin | 5/6/7 | 2009.10.26 |
Android 2.2/2.2.1 :Froyo: 냉동 요구르트 | 8 | 2010.5.20 |
Android 2.3: 진저브레드: 진저브레드 | 9 | 2010.12.7 |
Android 3.0: 허니콤: 허니컴 | 11 | 2011.2.2 |
Android 3.1: 허니컴 : Honeycomb | 12 | 2011.5.11 |
Android 3.2: Honeycomb: Honeycomb | 13 | 2011.7.13 |
Android 4.0: 아이스크림 샌드위치: 아이스크림 샌드위치 | 14 | 2011.10.19 |
안드로이드 4.1: 젤리빈: 젤리빈 | 16 | 2012.6.28 |
안드로이드 4.2: 젤리빈: 젤리빈 | 17 | 2 012.10.30 |
Android 4.3: 젤리빈 : 젤리빈 | 18 | 2013.7.25 |
안드로이드 4.4: KitKat: KitKat | 19 | 2013.11.01 |
안드로이드 5.0: 롤리팝 | 21 | 2014.10.16 |
Android M: 미리보기 | 22 | 2015.5.28 |
위의 공개 버전 외에도 물론 다른 버전도 있습니다. 2015.1 기준으로 각 버전의 시장 점유율은 다음과 같습니다.
위 정보를 읽은 후 질문: 시스템 버전이 너무 많은데, 개발할 때 어떤 버전을 대상으로 해야 할까요? 이것이 안드로이드가 직면해야 하는 안드로이드의 "조각화" 문제이며, 이 문제는 두 가지로 나누어집니다. ① 시스템 단편화: 앱을 개발할 때 낮은 버전과 호환되어야 할 수도 있습니다. 예를 들어 다양한 Rom 사용자 정의가 널리 퍼져 있기 때문에 최소 호환성은 버전 2.3입니다. 카메라콜 등 커스텀 롬에서는 가능하지만 불가능한 문제들이 발생하는데요~ ②화면 분할: 시중에 나와 있는 휴대폰 화면 크기는 4.3인치, 4.5인치, 4.7인치, 5.0인치, 5.3인치 등 다양합니다. 휴대폰 외에 Android 태블릿도 있으므로 개발 중에 우리는 물론 이 화면 적응 문제를 해결하기 위해 처음 학습할 때 이러한 복잡한 사항을 고려할 필요는 없습니다. 앞으로 실제 개발에 대해 자세히 알아볼 것입니다!
2. Android 시스템 기능 및 플랫폼 아키텍처
시스템 기능:
애플리케이션 프레임워크는 구성요소 재사용 및 교체를 지원합니다(앱은 출시될 때 프레임워크의 규칙을 준수하며 다른 앱도 사용할 수 있음). 이 모듈)
Dalvik가상 머신: 모바일 기기에 특별히 최적화됨 -통합 브라우저: 오픈 소스 WebKit 엔진
SQLite구조화된 데이터 저장
최적화된 그래픽 라이브러리, 멀티미디어 지원, GSM 전화 기술, 블루투스 등
사용소프트웨어 스택 레이어 구성
플랫폼 아키텍처 다이어그램:
아키텍처에 대한 간단한 이해:
Application(애플리케이션 계층)우리는 일반적으로 애플리케이션 계층의 개발이 이 수준에서 이루어진다고 말합니다. 물론 , 여기에는 Java 언어
Application Framework(애플리케이션 프레임워크 계층)를 사용하여 시스템에 내장된 애플리케이션 세트가 포함되어 있습니다. 시스템에 내장되어 있든 우리가 직접 작성하는 앱이든 이 계층을 사용해야 합니다. 예를 들어 수신 전화를 블랙리스트에 추가하고 자동으로 전화를 끊으려면 TelephonyManager를 사용해야 합니다. 이 레이어를 통해 기본 구현에 대해 걱정하지 않고 끊기 작업을 쉽게 구현할 수 있습니다
라이브러리(라이브러리) + Android 런타임(Android 런타임)Android는 미디어 프레임워크와 같은 플랫폼의 다양한 구성 요소에서 사용되는 C/C++ 라이브러리 세트를 제공하며 Android 런타임은 다음과 같이 구성됩니다. Android 코어 라이브러리 + Dalvik 가상 머신은 Dalvik 가상 머신으로 구성됩니다. Dalvik 가상 머신은 모바일 장치용 가상 머신입니다. 빠른 CPU 컴퓨팅 속도와 많은 양의 메모리 공간이 필요하지 않습니다. 별도의 Dalvik 가상 머신에서 독립적으로 실행됩니다. 각 앱에는 Dalvik 프로세스가 있으며 간단한 실행 프로세스는 다음과 같습니다.
Linux 커널다음은 보안과 같은 일부 시스템 서비스와 관련된 사항입니다. , 메모리 관리 및 프로세스 관리 등
3. 이 섹션의 요약:
이 섹션에서는 Android의 역사적 배경과 현재 상황에 대한 이해를 제공하고 Android의 시스템 특성 및 시스템 아키텍처를 간략하게 분석합니다. 이러한 개념적인 내용만 이해하면 되며, 다음은 Android 환경 구축을 시작하겠습니다!