Источник
Android
Архитектура Android, особенности и сценарии применения.
Android — мобильная операционная система, построенная поверх Linux kernel и адаптированная под смартфоны и планшеты. Она задаёт архитектуру, безопасность и жизненный цикл приложений.
Базовая архитектура Android
Сверху — приложения и фреймворк, снизу — слои, которые ближе всего к железу.
App layer
Приложения и фреймворк
Applications
Пользовательские приложения и System UI.
- System UI
- Launcher
- Apps
Application Framework
Системные сервисы, менеджеры активности и уведомления.
- ActivityManager
- WindowManager
- Content Providers
Runtime layer
Runtime и Native библиотеки
Android Runtime (ART)
Runtime для приложений, сборка мусора, оптимизация кода.
- ART
- GC
- Class Loader
Native libraries
C/C++ библиотеки платформы: графика, мультимедиа, SQLite.
- Graphics
- Media
- SQLite
Platform layer
HAL и Linux kernel
Hardware Abstraction Layer (HAL)
Абстракция доступа к камере, аудио, сенсорам, GPS, модему.
- Camera
- Audio
- Sensors
Linux kernel
Планирование, память, сеть, драйверы устройств.
- Scheduler
- Memory
- Drivers
Hardware
Железо
Как запускается мобильное приложение
Пример цепочки: пользователь запускает приложение, Android поднимает процесс и отдаёт управление системным сервисам, после чего UI рендерится через графический стек.
Запуск мобильного приложения
От Intent до рендера: как запрос проходит по слоям Android
Apps
Layer 1App Framework
Layer 2Android Runtime
Layer 3Native libs
Layer 4Linux kernel
Layer 5Hardware
Layer 6Активный шаг
Нажмите «Старт», чтобы увидеть цепочку запуска.
Как работает и ключевые особенности
- Жёсткая изоляция приложений и модель разрешений (permissions).
- Управление жизненным циклом приложений и активностей.
- Оптимизация под батарею и фоновые ограничения.
- Глубокая интеграция с мобильными сенсорами и радиомодемом.
- Единый магазин приложений и модель распространения.
Отличия Android от классического Linux
Использует Linux kernel, но со своим user space и библиотекой bionic вместо glibc.
Приложения работают в ART с управляемым runtime и собственным жизненным циклом.
Сильнее выражена модель песочниц и разрешений на уровне ОС.
Глубокая ориентация на мобильные устройства, энергоэффективность и сенсоры.
Почему это важно для системного дизайна
- Мобильные устройства ограничены батареей, CPU и памятью — это влияет на архитектуру приложений.
- Сетевые условия нестабильны: нужны офлайн-режимы, кэширование и ретраи.
- Фоновые задачи и уведомления регулируются ОС, что влияет на синхронизацию данных.
- Сенсоры, геолокация и камера дают новые продуктовые возможности.
- Безопасность и приватность требуют аккуратной работы с разрешениями.
