← Назад к вопросам

Что такое Android 12?

1.0 Junior🔥 91 комментариев
#Android компоненты

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое Android 12?

Android 12 — это мажорное обновление операционной системы Android, выпущенное Google в октябре 2021 года (финальный стабильный релиз). Кодовое название — Snow Cone (Сахарная вата). Это одна из самых значимых версий с точки зрения визуальных изменений и архитектурных улучшений за последние годы, представляющая собой масштабный ребрендинг платформы с акцентом на персонализацию, конфиденциальность и удобство использования.

Ключевые особенности и нововведения

1. Material You (Дизайн-система)

Самое заметное изменение — новая дизайн-система Material You, которая пришла на смену Material Design 2.0. Она основана на динамической цветовой палитре, извлекаемой из обоев пользователя. Система автоматически генерирует гармоничную палитру цветов для интерфейса (кнопок, виджетов, уведомлений, настроек), создавая целостный и персонализированный опыт.

Пример влияния на разработку: теперь рекомендуется использовать системные цветовые ресурсы (например, ?attr/colorPrimary) вместо фиксированных значений, чтобы приложение адаптировалось под тему пользователя.

// Получение системного акцентного цвета
val colorPrimary = Resources.Theme().obtainStyledAttributes(
    intArrayOf(android.R.attr.colorAccent)
).getColor(0, 0)

2. Улучшения производительности и отзывчивости

  • Project Mainline расширен: больше системных компонентов можно обновлять через Google Play Store, минуя производителя устройства.
  • Введён новый механизм рендеринга UIAndroid Rendering Engine, который уменьшает загрузку CPU за счёт более эффективной работы графического процессора. Это приводит к более плавной анимации и снижению задержек.
  • Сокращение времени запуска приложений на 15-30% благодаря оптимизациям в ART (Android Runtime) и управлении памятью.

3. Конфиденциальность и безопасность

  • Индикатор доступа к микрофону и камере: в статус-SSOB появляются зелёные точки при активном использовании этих датчиков любым приложением. Пользователь может быстро отключить доступ через панель быстрых настроек.
  • Приблизительные разрешения на геолокацию: пользователи могут предоставить приложению доступ только к приблизительному местоположению, а не точному.
  • Новые разрешения в runtime: например, BLUETOOTH_SCAN требует явного запроса во время выполнения для обнаружения устройств Bluetooth.
<!-- Манифест для Bluetooth сканирования в Android 12+ -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
// Запрос разрешения в runtime (для targetSdkVersion 31+)
requestPermissions(arrayOf(android.Manifest.permission.BLUETOOTH_SCAN), REQUEST_CODE)

4. Новые API и возможности для разработчиков

  • Уведомления с изменённым внешним видом: новые шаблоны (например, Notification.DecoratedCustomViewStyle) и отложенные уведомления для снижения помех.
  • Улучшенные виджеты: переработанный API с поддержкой динамической цветовой палитры Material You и более гибкой адаптивной разметкой.
  • Нативные поддержка скруглённых углов и отображения экрана: API для получения радиуса скругления экрана и информации о вырезах (notch/punch-hole).
  • Функции для игр: Game Mode API для оптимизации производительности и новый менеджер игровых сервисов в настройках.

5. Изменения, требующие внимания разработчиков

  • Новые ограничения на запуск фоновых сервисов: для приложений, targeting API 31+, запрещён запуск фоновых сервисов из фона, если приложение не находится на белом списке (например, приложения для телефонии или уведомлений от системы). Это требует перехода на WorkManager, AlarmManager или запланированные задания (scheduled jobs).
  • Изменения в PendingIntent: теперь необходимо явно указывать флаг FLAG_IMMUTABLE или FLAG_MUTABLE, в зависимости от необходимости изменять интент.
// Создание PendingIntent в Android 12+
val pendingIntent = PendingIntent.getActivity(
    context, requestCode, intent,
    PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
  • Новое splash screen API: унифицированный экран запуска для всех приложений, автоматически использующий цветовую тему и иконку приложения.

Значение для разработки под Android

Для разработчиков Android 12 представляет собой поворотный момент, требующий адаптации приложений, особенно в вопросах конфиденциальности, фоновой работы и дизайна. Приложения с targetSdkVersion 31 и выше должны быть протестированы на соответствие новым политикам, чтобы избежать сбоев и обеспечить оптимальный пользовательский опыт. Внедрение поддержки Material You и новых API позволяет создавать более современные, интегрированные в систему приложения, что становится конкурентным преимуществом.

В целом, Android 12 укрепил позиции Android как персонализированной, безопасной и высокопроизводительной платформы, задав вектор развития на следующие годы (что продолжилось в Android 13 и 14). Для разработчиков это означает необходимость постоянно следить за эволюцией экосистемы и адаптировать свои приложения под новые стандарты.