Как предотвратить автоматическое уничтожение приложений в Android Marshmallow и Nougat

верхняя клавиатура приложения для Android 10

Немного драматичный заголовок, правда, но точный. Видите ли, Android 6.0 и выше используют новые системы от Google, чтобы помочь продлить срок службы батареи: «Doze», который ограничивает то, что приложения могут делать в фоновом режиме, когда телефон неподвижен и не используется, и «App Standby», который делает то же самое вещь, но основана на том, сколько времени прошло с тех пор, как вы в последний раз использовали конкретное приложение. В любом случае, некоторые приложения могут быть случайно затронуты — но вот, как заставить их пыхтеть.

По общему признанию, проблема не огромна — отнюдь не наглядный пример, но если вы когда-либо возвращались в одно из ваших любимых приложений (например, нажав на значок его домашнего экрана), то, что вы используете несколько раз в день, и задаетесь вопросом, почему это Необходимость перезагрузки с нуля, занимающая несколько секунд, а не просто появляющаяся на экране, приводит к тому, что мешают режимы энергосбережения «Зефир» или «Нуга».

Это относится к большинству воплощений Android 6.0 и 7.0, но мои тесты проводились на Google Pixel и Nexus 6P, что примерно так же просто и «чисто», как вы, конечно, можете получить в мире Android.

В моем случае основной ошибкой был Pocket Casts, самый популярный Android-подкатчер. Я радостно слушал утром на своем Nexus 6P, оставлял подкаст на паузе, а затем продолжал свою утреннюю работу. Во время обеда я проводил пальцем вниз по тени уведомлений, и управление воспроизведением исчезло бы! Озадаченный, я бы затем нажал на иконку Pocket Casts на моем домашнем экране, и знакомый пустой экран и анимация «вверх» означали бы, что Pocket Casts запускается. Очередной раз. На современном устройстве, таком как Pixel или Nexus 6P, с 4 ГБ или 3 ГБ ОЗУ, просто невозможно закрыть приложения так быстро.

После долгих испытаний, похоже, происходит то, что App Standby вмешивается, отмечая, что я не использовал Pocket Casts в течение четырех часов, предполагая, что он мне больше не нужен, и поэтому убивал его. И вместе с приложением также идут элементы управления воспроизведением для текущего подкаста в тени уведомлений.

Но проблема не ограничивается этим одним вариантом использования и приложением. Другое известное явление заключается в том, что приложения, которые работали нормально под Android 5.x, внезапно не могут оставаться в оперативной памяти под Android 6 и 7 — это потому, что Doze приостанавливает фоновую активность, которая раньше была разрешена в Lollipop и приложении. вылетает, не в состоянии справиться с новым поведением.

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

1. Голова для ‘настройки«Приложение, а затем«аккумулятор«.

Скриншот оптимизации батареи

2. На ‘три точки‘Меню в правом верхнем углу, вы найдете‘Оптимизация батареи«.

Скриншот оптимизации батареи

3. Здесь вы увидите список всех приложений, которые не должны бытьоптимизированный‘(Для которых чтение‘ может обрабатываться Doze и App Standby ’) — по умолчанию список обычно очень мал, причем почти во всех приложениях включена« оптимизация ». Это хорошо для обычных пользователей, но если, как и я, вы хотите, чтобы несколько приложений жили вне новых оптимизаций батареи, нажмите ‘Не оптимизирован«Выбрать список и выбрать«Все приложения«.

Скриншот оптимизации батареи

4. Как и следовало ожидать, в списке есть все приложения на вашем телефоне (это может быть довольно долго). Проведите пальцем вниз, пока не найдете приложения, которые вы особенно хотите всегда запускать. Нажмите на имя приложения.

5. Из двух вариантов установите флажок ‘Не оптимизировать«.

Скриншот оптимизации батареи

6. Промойте и повторите для любых других приложений (при необходимости, хотя не переусердствуйте или вы не получите никаких преимуществ от использования Doze и App Standby в первую очередь).

Следите за своим телефоном и его приложениями в течение следующих нескольких дней, и мы надеемся, что вы увидите, как улучшится доступность ранее завершившихся приложений.

Имейте в виду, что это изменение настроек — не излечивающий способ заставить Android держать приложение открытым в ОЗУ. Например, при запуске игры, требующей ОЗУ, ОС по-прежнему оставляет за собой право восстановить память и закрыть другие приложения. Вот так работает компьютер!

PS. Удостоверьтесь, что ваш телефон обновлен с точки зрения системных обновлений от производителя, а также трижды проверьте, что все обновления приложений были установлены в Play Store.

PPS. Если вы технически настроены, см. Также функцию внешнего разработчика, которая описывает, как работает эта новая функция Android 6 и 7: оптимизация для Doze и ожидания приложений.

Ссылка на основную публикацию