enGL). Менеджер поверхонь обробляє весь рендеринг (отрисовку) поверхні на фреймовий буфер [4]. Менеджер може об'єднати 2D- і 3D- поверхні і поверхні від декількох додатків. Замість того щоб виробляти отрисовку графіки безпосередньо в буфер дисплея, система посилає надходять команди отрисовки в закадровий буфер, де вони накопичуються разом з іншими, складаючи якусь композицію, а потім виводяться на екран. Цей процес можна побачити на малюнку 2.2.
Малюнок 2.2 - Обробка графічної інформації менеджером поверхонь
Функціональні бібліотеки. Бібліотеки, які використовуються різними компонентами операційної системи Android. Деякі з них перераховані нижче:
- Media Framework - забезпечує підтримку функцій мультимедіа (відтворення аудіо та відео) і підтримку різних медіа форматів (MPEG4, H.264, MP3, WMA, WAV, AAC, AMR, JPG, PNG).
- SQLite - бібліотека підтримки реляційної бази даних SQLite.
- OpenGL ES - движок для роботи з 3D-графікою.
- FreeType - бібліотека шрифтів, призначена для роботи з растровими і векторними шрифтами.
- LibWebCore - забезпечує роботу web-браузера (движок WebKit).
- SGL - підтримка 2D графіки. Android також містить власну графічну 2D-бібліотеку Skia, яка написана на С/С ++ (Skia також формує ядро ??популярного браузера Google Chrome).
- SSL (Secure Sockets Layer) - бібліотека призначена для роботи з сокетами в безпечному (захищеному) режимі.
Для розробників доступ до функцій бібліотек цього рівня реалізований через використання Application Framework (рівень каркаса додатків), який буде детально розглянуто далі.
середу виконання Android (Android Runtime). Android Runtime Environment складається з набору базових (основних) бібліотек Android і віртуальної машини Dalvik. Саме цей рівень забезпечує середовище виконання для додатків Android.
Базові бібліотеки забезпечують більшу частину низкоуровневой функціональності, доступної бібліотекам ядра мови Java (Java API), а так само спеціальні функції операційної системи Android. Ці бібліотеки є основною платформою розробки Java-додатків для Android.Virtual Machine (DVM). Заснована на регістрах віртуальна Java машина, розроблена і написана Деном Борнштейн (англ. Dan Bornstein) та іншими, як частина мобільної платформи Android.
Віртуальна машина Dalvik оптимізована для низького споживання пам'яті, це нестандартна регістр орієнтована віртуальна машина, добре підходить для виконання на RISC-архітектурах процесорів, часто використовуються у мобільних та вбудованих пристроях, таких, як комунікатори і планшетні комп'ютери. Більшість віртуальних машин, що використовуються в настільних системах, є стек орієнтованими, включаючи стандартну віртуальну машину Java від Oracle.
Програми для Dalvik пишуться на мові Java. Незважаючи на це, стандартний байт-код Java не використовується, замість нього Dalvik VM виконує байт-код власного формату. Після компіляції вихідних текстів програми на Java (за допомогою javac) утиліта dx з «Android SDK» перетворює .class файли у формат .dex, придатний для інтерпретації в Dalvik.
У загальному можна сказати, що Dalvik це середа для виконання компонентів операційної системи (рівня додатків) Android і користувальницьких додатків. Кожен процес виконується у своєму, ізольованому адресному просторі. Коли користувач запускає додаток (або операційна система запускає один зі своїх компонентів), Ядро віртуальної машини Dalvik (Zygote Dalvik VM) створює окремий, захищений процес в загальній пам'яті, в якому безпосередньо розгортається VM, як середовище для запуску програми. Іншими словами, зсередини Android виглядає як набір віртуальних машин Dalvik, у кожній з яких виповнюється прикладна задача (додаток).
Рівень каркаса додатків (Application Framework). Рівень каркаса додатків є сполучною ланкою між рівнем нативних бібліотек і середовища виконання Android і рівнем додатків. Цей рівень надає додаткам інтерфейси (набір Java класів, API) до функцій операційної системи. На цьому рівні знаходяться основні служби Android для управління життєвим циклом додатків, пакетами, ресурсами і т. Д. Користувальницькі додатки мають повний доступ до тих же API, що і системні програми.
Бібліотеки та служби цього рівня є основою для всіх додатків (як системних, так і для користувача) в операційній системі Android і включають в себе:
- Багатий і розширюваний набір елементів інтерфейсу користувача (уявлень, Views). Це текстові поля, кнопки, списки, таблиці, вбудовується web браузер і т.д., елементи, які використовуються практично у всіх додатках.