Програмування під Android/Вступ/Архітектура системи Android
Архітектура системи Android
ред.Основні компоненти пошарової архітектури систем:
- Application framework. Інструментарій для розробки застосувань, який використовують розробники застосувань для системи Android. Цей шар інструментів розробника надає розробнику велику кількість високорівневих сервісів для використання у програмних застосуваннях, які надані у формі класів на мові програмування Java. Розробники застосувань використовують ці сервіси у своїх застосуваннях.
Із основних сервісів, які надає Android можна перерахувати наступні:
- Activity Manager (менеджер актівіті) − керує всіма аспектами життєвого циклу застосування і activity stack.
- Content Providers (постачальники контенту) −дозволяють застосуванню публікувати і обмінюватися даними із іншими застосуваннями.
- Resource Manager (менеджер ресурсів) − надає доступ до ресурсів, що не вбудовані у код застосування, такі як строки, налаштування кольорових гам і макети інтерфейсу користувача.
- Notifications Manager (менеджер сповіщень) − дозволяє застосуванням відображати сповіщення і помилки на екран користувачу.
- View System (система відображення) − широкий набір інструментів відображення, що використовується для створення інтерфейсу користувача.
- Binder IPC. The Binder Inter-Process Communication (IPC, система комунікації між процесами) це механізм, який дозволяє застосуванням, що користують application framework виходити за межі роботи процесу і викликати код системних сервісів Android. Це дозволяє високорівневим API взаємодіяти із системними сервісами Android. На рівні функціоналу розробника застосувань, ця комунікація скрита від розробника і робота відбувається не явним чином.
- System services. Системні сервіси, це модульні, орієнтовані на конкретні призначення компоненти, такі як менеджер вікон, сервіс пошуку або менеджер сповіщень. Користувацькі застосування, взаємодіють із системними сервісами для доступу до обладнання пристрою, які вони обслуговують. Система Android має дві групи сервісів: системні (system): такі як менеджер вікон або менеджер сповіщень і медійні (media), сервіси які пов'язані із відіграванням і записом медійного контенту.
- Hardware abstraction layer (HAL). Шар абстракції обладнання надає стандартний інтерфейс для розробників апаратного обладнання, який вони мають реалізувати, що дозволяє системі Android звести до однотипного вигляду драйвери низького рівня і їх реалізацію. Використання HAL дозволяє реалізовувати функціонал без впливу і без зміни більш високорівневого функціоналу системи. Реалізації HAL розбиті на пакунки у вигляді модулів і завантажуються системою Android у необхідний час.
- Linux kernel (Ядро Linux). Розробка драйверів пристроїв для системи Android є аналогічною як і розробка типових драйверів пристроїв в Linux. Android використовує версію ядра Linux із декількома спеціальними доповненнями, такими як Low Memory Killer (система управління пам'яттю, яка веде себе більш агресивно для збереження ресурсів пам'яті), wake locks (системний сервіс для керування ресурсами енергоживлення PowerManager), драйвер Binder IPC, і інший функціонал, що важливий для вбудованої мобільної платформи. Ці доповнення в основному необхідні для функціонування системи і не впливають на процес розробки драйверів.
Посилання
ред.- Android Architecture Короткий огляд архітектури системи Android, source.android.com