Таск киллеры и другие оптимизаторы ОС существуют чуть ли не со времен появления самого Android, но их эффективность остается недоказанной. Чтобы бедные приложения не порождали у пользователей ошибочные надежды, Google начинает бороться с ними. Первые шаги против таск киллеров и им подобных мы увидим уже в Android 14.
В сообщении в блоге Esper известный эксперт по Android Мишаал Рахман исследовал обзорную версию Android 14 Developer Preview и обнаружил признаки того, что следующая версия операционной системы ограничит возможности таск киллеров и других так называемых ускорителей смартфона.
Основная идея состоит в том, что приложениям, имеющим разрешение KILL_BACKGROUND_PROCESSES для прекращения фоновых процессов, будет ограничено использование API ActivityManager.killBackgroundProcesses(String).
Сейчас приложения используют это разрешение и API, чтобы закрыть все ваши приложения, работающие в фоновом режиме, утверждая, что это ускоряет работу смартфона.
В будущем приложения могут прекращать только собственные фоновые процессы.
Для этого изменения есть веская причина. Хотя это звучит логично, что закрытие программ улучшит скорость работы телефона и время автономной работы, таск-киллеры не работают, как и закрытие программ вручную. Приложения на Android живут своей жизнью, а также производители модифицируют Android по своим предпочтениям.
Таск-киллеры часто могут ухудшить работу со смартфоном. Некоторые программы предназначены для работы в фоновом режиме, например мессенджеры.Кроме этого, Android просто через некоторое время автоматически загружает убитые фоновые программы, используя больше ресурсов, чем когда эти программы находились в фоновом режиме.
Google объясняет это в документации, которую Рахман нашел:
«Android разработан для сохранения кэшированных программ в фоновом режиме и их автоматического прекращения, когда системе нужна память. Если программа без необходимости отключает другие программы, это может снизить производительность системы и увеличить потребление заряда аккумулятора, требуя полного перезапуска этих программ позже, что занимает значительное количество времени и больше ресурсов, чем восстановление существующей кэшированной программы».