Android 17 запретит приложениям внезапно орать в фоне

Android 17 запретит приложениям внезапно орать в фоне

Android 17 запретит приложениям внезапно орать в фоне

Google решила покончить с одной из самых мерзких мобильных неожиданностей: когда давно свёрнутое приложение или забытая вкладка браузера внезапно начинает воспроизводить звук. В Android 17 для этого появился системный механизм Background Audio Hardening.

Теперь приложение сможет включать аудио, запрашивать аудиофокус и менять громкость только при видимом на экране интерфейсе либо при корректно запущенной foreground-службе.

Ограничение действует на все приложения в Android 17, даже если они пока не адаптированы под API 37.

Если программа попытается шуметь из неподходящего фонового состояния, система просто проигнорирует её запрос. Воспроизведение и изменение громкости будут заблокированы без ошибки или падения приложения, а запрос аудиофокуса завершится отказом.

Как объясняет Google, нововведение должно остановить случайный запуск звука. Например, приложение могло зависнуть из-за проблем с сетью, быть заморожено системой, а затем очнуться через несколько часов и внезапно продолжить воспроизведение. Другой сценарий — потерянная медиасессия, которая продолжает жить уже без видимого интерфейса и понятной кнопки остановки.

Изменение работает на уровне всей операционной системы, поэтому это не специальное лекарство для Chrome, YouTube или сайтов с наглым автовоспроизведением. Под новые правила попадут браузеры, игры, медиаплееры и остальные приложения.

Побочный эффект тоже имеется. Программы, которым действительно нужно играть музыку или подкасты при выключенном экране, должны правильно использовать foreground-службу для медиавоспроизведения. Разработчикам с кривой реализацией придётся переписать код, иначе Android молча прикрутит им громкость.

Google также предусмотрела тестирование через ADB: защиту можно включить, отключить или перевести в жёсткий режим, при котором некорректные обращения к аудиоинтерфейсам вызывают явные ошибки.

Однотонные обои заставляли Windows 7 тормозить при входе

Казалось бы, что может быть проще для компьютера, чем показать рабочий стол, залитый одним цветом? Но ранняя Windows 7 умудрялась превратить даже эту задачу в 30-секундную медитацию на экране «Добро пожаловать». Проблема возникала, если пользователь выбирал вместо картинки однотонные синие, зелёные, чёрные или другие обои.

После ввода пароля Windows могла держать экран приветствия ровно полминуты, хотя система уже была практически готова к работе.

Дело оказалось не в том, что Windows надрывалась, рисуя синий фон. Как объяснил инженер Microsoft Рэймонд Чен, при входе операционная система ждала от компонентов рабочего стола подтверждения готовности. Код, отвечавший за обои, отправлял такой сигнал только после загрузки изображения.

Если пользователь выбирал сплошной цвет, картинка не загружалась — а значит, нужная ветка кода вообще не запускалась. Сигнал WallpaperReady бесследно пропадал, и система ждала его до срабатывания 30-секундного тайм-аута. После этого Windows махала рукой и наконец показывала рабочий стол.

Похожий фокус возникал при одновременном включении групповых политик Normal Wallpaper и Hide all icons on Desktop. Инициализация значков отключалась, но сообщение о её завершении также не отправлялось. Снова ожидание, снова 30 секунд созерцания экрана приветствия.

Microsoft официально подтвердила баг для Windows 7 и Windows Server 2008 R2 и подготовила исправление в ноябре 2009 года. До установки патча пользователям предлагали гениальный по простоте костыль: создать крошечную картинку нужного цвета и поставить её на фон.

Визуально ничего не менялось, зато Windows видела изображение, получала долгожданный сигнал и переставала задумываться при каждом входе.

RSS: Новости на портале Anti-Malware.ru