Что важно знать разработчику об Android 16 (API 36)

В двух словах: API 36 вводит обязательный Edge‑to‑Edge UI, расширенные подтипы Foreground Services, Photo Picker 2.0 (мульти‑альбомы), Partial Media Metrics, базовые on‑device AI‑хуки через ML Kit 2.0 и Dynamic Fold API — все это требует плановой миграции и тестирования до августа–конца 2026. Ниже — что менять и как быстро проверить совместимость.

Главные изменения и влияние на код

  • Edge‑to‑Edge UI — теперь обязательна: приложение должно корректно отрисовывать контент под статус‑бар и навигацию, поддерживать системные жесты и safe‑area. Проверьте Insets и WindowInsetsController.
  • Foreground Services — добавлено 20+ новых подтипов и строгая обязательная миграция: без корректного типа работа в фоне может быть блокирована. Ожидаем снижение расхода батареи ~15–20% при правильной классификации.
  • Photo Picker 2.0 — поддержка выбора по альбомам и фильтрам на устройстве; доступ к выбранным наборам без прав на всю галерею.
  • Partial Media Metrics API — мониторинг только активных медиа‑сессий, экономия трафика и ресурсов (до ~25–30%).
  • AI / ML — ML Kit 2.0: Text Embedding, предзагрузка состояний для Predictive Back Gesture, базовые хуки для on‑device моделей (учтите требования по энергопотреблению).
  • Складные устройства — Dynamic Fold API автоматически адаптирует layout под углы 90°–180°.
  • Игры и рендеринг — Frame Timeline API для оптимизации под 120+ Гц.
  • Совместимость данных/безопасность — Health Connect 2.0 новые scope‑ы; Photo Picker и Credential Manager усиливают требования к приватности.

Тестируйте на эмуляторе Pixel 10 с API 36 preview — это ускорит выявление проблем с Edge‑to‑Edge и складными layout‑ами.

Пошаговая миграция (что сделать первым)

  1. Обновите compileSdk и targetSdk до 36 в Gradle (планируйте релиз‑ветку с targetSdkVersion=36).
  2. Мигрируйте Foreground Service: назначьте новый подтип и обработайте новые разрешения/поведения фоновых задач. Тестируйте сценарии OOM и ограничения фоновой работы.
  3. Внедрите Photo Picker 2.0 API: замените прямой доступ к медиатеке на выбор по альбомам и проверку корзин/фильтров.
  4. Перейдите на Edge‑to‑Edge: используйте WindowInsets, обновите навигационные и статус‑области, проверьте жесты и элементы UI в полноэкранном режиме.
  5. Подключите Partial Media Metrics для медиаплееров и проверьте учёт сессий.
  6. Обновите зависимости: Kotlin 2.0 и Jetpack Compose 1.8 рекомендуются для полной совместимости.
  7. Проверьте Health Connect 2.0 scopes и интеграцию Credential Manager — игнорирование может повлиять на публикацию приложения после Q4 2026.
  8. Прогоны тестов: функциональность, производительность (Frame Timeline), энергопотребление on‑device ML.

Инструменты и проверка

  • Android Studio Koala 2026.1 (шаблоны и миграционные ассистенты для API 36).
  • Emulator Pixel 10 (API 36 preview) для проверки Edge‑to‑Edge и Fold API.
  • Profiler + Frame Timeline для поиска джиттеров на 120+ Гц; Network Profiler для Partial Media Metrics.
  • Автоматические CI‑тесты: интеграционные тесты фоновой работы, сценарии восстановления состояния при Predictive Back Gesture.
  • Бенчмарки энергопотребления при on‑device ML: измеряйте пиковую нагрузку и тепловой троттлинг.

Частые ошибки

  • Не назначать корректный подтип Foreground Service — приводит к блокировке фоновой работы.
  • Игнорировать Insets — элементы UI перекрываются статус‑баром/жестами.
  • Пытаться получить полный доступ к галерее вместо использования Photo Picker — нарушения приватности.
  • Отсутствие тестов на складных конфигурациях и 120+ Гц — UI ломается на новых устройствах.
  • Не обновить зависимости (Kotlin/Compose) — неожиданные несовместимости.

FAQ

  • Нужно ли срочно менять targetSdkVersion?
    Да — планируйте миграцию в ближайшие спринты, особенно из‑за новых ограничений для foreground services и privacy‑api.
  • Повлияет ли API 36 на старые устройства?
    Нет прямого влияния на работу старых устройств, но поведение при targetSdkVersion=36 будет применяться: тестируйте откат и совместимость.
  • Как проверить Photo Picker 2.0 локально?
    Используйте эмулятор с API 36 и тестовые медиабазы: проверьте выбор альбомов и отсутствие запроса на полный доступ к медиатеке.
  • Какие библиотеки стоит обновить в первую очередь?
    Kotlin до 2.0, Jetpack Compose до 1.8, и последние версии библиотек Jetpack (Activity, WindowInsets, Media).

Перенесите эти пункты в план миграции на 1–2 спринта: приоритет — foreground services, Edge‑to‑Edge и Photo Picker; затем оптимизация медиа и ML-интеграции.