Общая архитектура Android
Android — это операционная система от Google, построенная на базе ядра Linux. Наведите на каждый слой, чтобы узнать его назначение.
Компоненты приложения Android
- Activity — Один экран приложения (например, экран входа или профиля).
- Fragment — Часть экрана. Activity может содержать несколько фрагментов.
- Service — Компонент для фоновой работы без UI (например, загрузка файла).
- Broadcast Receiver — "Слушатель" системных событий (например, "батарея разряжена").
- Content Provider — Механизм для обмена данными между приложениями.
Жизненный цикл Activity (Android)
Каждый экран (Activity) в Android проходит через определенные состояния. Неправильная обработка этих состояний — частая причина багов (например, краш при повороте экрана).
MyApp
Состояние: Создано
Состояние: Видимо
Состояние: Активно (в фокусе)
Состояние: Уничтожено
Архитектура iOS
iOS — это закрытая мобильная ОС от Apple, построенная на базе UNIX. Наведите на каждый слой, чтобы узнать его назначение.
Компоненты приложения iOS
- UIViewController — Аналог Activity, управляет одним экраном или его частью.
- AppDelegate — Главный объект приложения, отвечает за его запуск и глобальные события.
- SceneDelegate — Управляет жизненным циклом одного экземпляра UI (сцены).
Жизненный цикл UIViewController (iOS)
Экраны в iOS также проходят через свой жизненный цикл. Баги часто возникают при переходе между состояниями, особенно при проблемах с сетью.
MyApp
Состояние: Загрузка View
Состояние: Появление на экране
Состояние: Исчезновение с экрана
Сравнение Android vs iOS
| Характеристика | Android | iOS |
|---|---|---|
| Основа ОС | Ядро Linux | UNIX-подобное ядро XNU |
| Исходный код | Открытый (AOSP) | Закрытый |
| Языки разработки | Kotlin, Java | Swift, Objective-C |
| Основной компонент экрана | Activity / Fragment | UIViewController |
| Точка входа в приложение | Любая Activity, помеченная как LAUNCHER | AppDelegate |
| Многозадачность | Настоящая многозадачность, сервисы в фоне | Ограниченная фоновая работа |