Как сделать чтобы приложение не выгружалось из памяти самсунг

Обновлено: 07.07.2024

Как запретить Samsung и Android убивать приложения в фоновом режиме?

Как запретить Samsung и Android убивать приложения в фоновом режиме?

Да, Samsung – доминирующий производитель смартфонов на рынке Android. И в настоящее время использует одну из самых отвратительных технологий экономии батареи в отрасли. Они могут убить фоновые процессы и сделать будильник бесполезным. Смотрите ниже обходные пути.

ОБНОВЛЕНИЕ 2021: Несмотря на то, что команда Android обещала заставить OEM-производителей (включая Samsung) быть прозрачными в отношении принудительного завершения нестандартных приложений, в Android 11 Samsung ввела новое серьезное ограничение (по умолчанию включено).

Приложения больше не могут удерживать блокировку пробуждения в службах переднего плана (foreground services). Это исключает многие варианты использования, например, приложения для здоровья теперь не могут собирать сенсорные данные для своих пользователей.

Зафиксировано большее количество завершений приложений после обновления на Android 11. Адаптивная батарея на Samsung работает гораздо агрессивнее чем на стоковом Android.

Через 3 дня любое неиспользуемое приложение не сможет запускаться из фона (например, уведомления больше не будут приходить). Представьте себе, вы не будете пользоваться будильником на выходных +1 день и все, будильник во вторник не зазвонит и вы опоздаете на работу.

Настоятельно рекомендуется отключить адаптивную батарею (Adaptive battery) и перевести приложения в спящий режим согласно инструкциям ниже.

ВАЖНО: Даже когда параметры адаптивной батарее отключены, Samsung может включить их снова при обновлении прошивки!

Какие приложения для оптимизации есть у Samsung?

  • Android 11: оптимизация батареи, автоматическая оптимизация, адаптивная батарея, ограничения фона, списки спящих приложений, неиспользуемые приложения, глубокие спящие приложения, никогда не спящие приложения;
  • Android Pie и выше: уход за устройством, списки спящих приложений, неиспользуемые приложения, автоматическое отключение неиспользуемых приложений;
  • Android Oreo или Nougat: обслуживание устройства;
  • Android Marshmallow или ниже: умный менеджер.

Решение для пользователей

Android 11

На Android 11 Samsung по умолчанию запрещает приложениям работать в фоновом режиме, если вы не исключите приложения из оптимизации заряда батареи. Это серьезное отклонение от стандартных политик управления процессами Android. Чтобы ваши приложения работали должным образом, убедитесь, что вы включили:

Да, это долгий путь. Разработчики не могут запрашивать это автоматически, поскольку они рискуют быть выгнанными из Play Store из-за нарушений политики Google.

Galaxy S9 / S10

Оптимизация батареи включена по умолчанию . В некоторые неясные моменты (может быть, при обновлении приложения, обновлении ОС?) настройки также возвращаются к значениям по умолчанию, приходиться отключать их снова и снова.

Ниже представлены скриншоты настройки Galaxy S10.

Спящие приложения

Меню спящих приложений — это список приложений которые будут в первую очередь убиваться при работе в фоне. Внимательно следуйте инструкциям, чтобы предотвратить уничтожение приложений.

ПРЕДУПРЕЖДЕНИЕ. Убедитесь, что неиспользуемые приложения находятся в спящем режиме, а функция автоматического отключения неиспользуемых приложений отключена. В противном случае Samsung вернет ваши приложения в спящий режим через несколько дней (по умолчанию 3), даже если вы разбудили их вручную!

Samsung Galaxy S8 и более новые

С представлением своего флагмана Galaxy S8 (и с некоторыми более ранними экспериментами) Samsung представила неудачную попытку продлить срок службы батареи под названием App power monitor.

Чтобы ваши приложения работали правильно, внесите их в белый список в App power monitor.

Откройте «Настройки» > «Обслуживание устройства» > «Аккумулятор», и внизу вы увидите список наиболее часто используемых приложений. Вы можете управлять приложениями по отдельности или в группе, выбрав их и нажав большую кнопку Save power. Спящие приложения появятся в списке Sleeping apps внизу (коснитесь его, чтобы развернуть список). Прокрутите дальше — вплоть до самого низа — и вы найдете Unmonitored apps. Это приложения, которые вы специально хотите исключить (белый список) из злой досягаемости App power monitor.

Находясь в меню Unmonitored apps «Необслуживаемые приложения», вы можете нажать 3х-точечное меню, чтобы добавить или удалить приложения из списка. Вместо того, чтобы беспокоиться об этом, вы можете просто полностью отключить функцию контроля питания приложения, так как она практически не влияет на время автономной работы и только мешает нормальному функционированию вашего Samsung Galaxy.

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

На других телефонах Samsung путь может выглядеть следующим образом

Настройки телефона > Приложения> выберите трехточечное меню (верхний правый угол) > Специальный доступ > Оптимизировать использование батареи > Найдите приложение в списке и убедитесь, что оно не выбрано.

ПРИМЕЧАНИЕ. Если вы включите Edge Lighting для своего приложения, приложение не сможет разбудить ваш экран. Чтобы приложение могло активировать экран, удалите его из списка приложений Edge Ligthing.

Решение для разработчиков

Нет известного решения на стороне разработчика

Чтобы проверить, на сколько агрессивно смартфон работает с приложениями в фоне, нужно воспользоваться статьей: Как проверить работу приложений в фоновом режиме на Android.

Программа находится в режиме тестирования и доработки способа удержания апп в памяти.

Прикрепленное изображение

Отсюда и возникла эта тема. Хотим сделать программу, которая все таки будет работать.
Вроде получилось ;)
Смысл данной программы выполнить 4 команды
pidof - чтобы узнать в какой папочке искать файлик с приоритетом
cat - прочитать, чего в нем сейчас
и если в этом файлике НЕ -17, то
echo - записать -17
Ну и подсказали все это закрепить командой chmod и значениями 444

Цель
Нужные приложения всегда в памяти, мгновенно открываются, мгновенный переход между приложениями ну и экономия батареи (тк не нужно подгружать данные и загружать проц/поднимать частоту)

Причина редактирования: появилась стабильная версия

Black_BG, я выяснил, что если свернуть-развернуть приложение, то эта настройка сбивается, т.е. AutoKiller просто меняет oom_adj процесса (в теме про твики я чуть подробнее это описал). Наверное, адекватного решения задачи (кроме как ежеминутно или даже чаще выполнять эти команды) нету, потому что Android меняет эти значения при изменении состояния приложения (свёрнуто, передний план, задний план, . ). Как отловить эти события "снаружи" интересующего приложения я не знаю.

Ищу программиста, который сможет написать простую программу

подробности в шапке темы.

Кажется, на xda есть похожее приложение. Оно находится в стадии разработки. Читать, начиная отсюда.
Там на 6-й странице есть ссылка на форму регистрации для тестирования.
Мне файл так и не пришёл. Может, тебе повезёт?

Добавлено 23.10.2012, 08:07:

можно пимп май цпу переделать. она же аналогична, только пишет по другому адресу.

можно) все тесты на мне если нужно.

Добавлено 23.10.2012, 08:34:

если поможет, то можно эту прожку разобрать. как мне кажется, что смысл похож, но пишет просто в другой файл. хотя могу ошибаться.
® Pimp My CPU

Версия 0.1 бетта.
Сыровато и много чего из интерфейса не доделано.
При запуске показывает список приложений, всех установленных в системе.
У запущенных приложений OOM Value будет отличным от "--".
Долгий тап на нужном элементе меняет устанавливаемое OOM (в проге так и написано "OOM Set to") между -17 и то что система поставит (в программе "--")
При выходе запускается сервис, который раз в 5 секунд(можно чаще-будет жрать сильнее батарею) проверяет что запущено на экране.
При изменении запущенного приложения он обновляет всем заданным ООМ в -17.
Слушаю критику
AutoOOMmanager.apk ( 30.42 КБ )

UPD
У меня при запуске появляется "Reading apps" на 1 секунду, исчезает - и всё. Чёрный экран с названием программы.
В логе никаких ошибок нету.

У меня при запуске появляется "Reading apps" на 1 секунду, исчезает - и всё. Чёрный экран с названием программы.
В логе никаких ошибок нету. Проверил на SGS3, Sensation XE, Desire S - на всех нормально запускается и показывает список приложений. У меня все запускает на сенсации на СМ9 с андроидом 4.0
нормальный интерфейс - ничего лишнего)
Есть фигня, что не подхватывает приложение и не делает -17, хотя оно болтается с приоритетом 10-12. возможно из-за быстрых переходов.

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

Рассмотрю 2 ситуации, на обе уже наткнулся.

1) я сижу и читаю книгу 2 часа. ничего не происходит. зачем здесь каждые 5 сек проверять есть ли новое окно?
2) я зашел в приложение и в туже секунду вышел из него. получается сервис проморгал этот момент.

Я предлагаю следующую логику. Раз сервис все равно делает проверку каждые 5 сек на новое окно, то давайте лучше он каждые n секунд/минут будет тупо сувать -17 во все нужне места.


В идеале, я представляю следующую логику программы

  1. Сделали нужные приложения в проге неубиваемыми.
  2. вышли из проги и запустился сервис
  3. сервис НЕ мониторит каждые n секунд, а ждет события "запуск приложения"/"смена приложения"/"поменялось окно"
  4. Как только событие произошло, он меняет на -17 в нужных местах и ждет след. события.
  5. Также работает таймер который раз в n минут (именно минут, это для ситуации с чтением книги) принудительно запихивает -17 в нужные места, не глядя что там уже есть.

Посмотрите пожалуйста как реализовано ожидание события в ® Pimp My CPU и ® SetCPU
если удастся реализовать именно также, было бы замечательно, тк мне представляется, что это лучшая реализация, тк сбоев ни пимп ни сетцпу не дают даже при быстром переходе по домику (долгое нажатие)

Версия 0,1 бэта добавлена в шапку

Сейчас, как я понимаю, каждые 5 сек сервис проверяет, что за окно открыто. если окно иное чем 5 сек назад, заново переприсваивает -17 нужным приложениям. так? 1) я сижу и читаю книгу 2 часа. ничего не происходит. зачем здесь каждые 5 сек проверять есть ли новое окно?
2) я зашел в приложение и в туже секунду вышел из него. получается сервис проморгал этот момент.
вроде как нет способа отследить запуск приложения, вернее мне он не известен.
Посмотрите пожалуйста как реализовано ожидание события в ® Pimp My CPU и ® SetCPU

предполагаю, что за счёт внедрения дополнительных активити в программу, на какое нибудь часто происходящее событие.
Или всё таки использовать возможности утилиты nohup.
Хотя, как я вижу проблема уже почти решена.

RubberBigPepper,
ваше детище работает и на 4 и на 2.3

Просто тот же таскер например, конечно работает со скриптами криво, но он как то отслеживает события запуска приложения и меняет мне например яркость мгновенно.
у меня сделано как в нем? чтоб при запуске нард автояркость отключалась и включалась яркость 40% (начальная задача) и как только я выхожу из нард (без разницы как, кнопка выход или домик) автояркость опять включается (конечная задача) и все это присходит прям мгновенно как и в пимпе и сетцпу.
Аналогично у меня сделано и на контакты, только яркость 100%
На оперу у меня сделано, чтоб включался автоповорот, а при выходе выключался.
про профиля на звонок и там на подключение зарядника я не говорю, эти события наверное легко отследить, да и не нужны они нам.

Поглядел.
Код из pimpа, хорошо сделана программа, но вылетает на моих телефонах сразу.
Обфускатором прошлись-гут.

То есть сделано как и у меня, только раз в секунду проверка запущенного приложения

Galaxy s4

Оперативной памяти много не бывает! И это чувствуют владельцы мобильных устройств под ОС Android даже с 3 и более ГБ (Гигабайт) ОЗУ (Оперативное Запоминающее Устройство, от англ. RAM (Random Access Memory)). Те же, кто использует телефоны с 1-2 ГБ оперативной памяти, подмечают более медленную работу их устройств по сравнению с аналогичными, но с большим объёмом ОЗУ.

Поэтому, чем больше ОЗУ, тем быстрее Процессор сможет обработать данных, не дожидаясь поступления новой порции данных из ПЗУ в ОЗУ. Этим самым обеспечивается более быстрая работа смартфона, имеющего оперативную память в 4 ГБ, 6 ГБ, 8 ГБ или даже 10-12 ГБ!

Оперативная память, если даже смартфон как бы и не загружен работой, всегда находится в рабочем режиме, так как Искусственный Интеллект (ИИ) смартфона заранее подгружает туда часть приложений со своими данными, которые часто используются, чтобы в случае необходимости их быстро запустить. Поэтому одна из задач ИИ заключается в том, чтобы организовать работу смартфона, так, чтобы он не терял время на медленный процесс загрузки данных из ПЗУ в ОЗУ при запуске приложений.

Это обеспечивается тем, что многие приложения запускаются ИИ заранее и работают в фоновом режиме. Они работают даже тогда, когда вы сворачиваете все приложения и блокируете устройство (это когда гаснет экран). После блокировки экрана устройство не отключается полностью, а продолжает выполнять различные задачи. Более того на устройствах с ОС Android приложения в фоновом режиме ещё продолжают принимать и отправлять данные.

А что делать, когда вновь загруженная игра или приложение идёт очень медленно из-за нехватки свободной оперативной памяти смартфона?

Это часто бывает и тогда, когда вы запускаете приложение-навигатор, который оперирует большим объёмом данных карт местности. В этом случае, как правило, на экране может появиться табличка с просьбой о закрытии «лишних» приложений работающих в фоновом режиме для ускорения работы вновь запускаемого приложения.

Для этой ситуации производители смартфонов Samsung Galaxy предусмотрели специальную функцию, которая позволяет освободить место в оперативной памяти устройства закрыв неиспользуемые фоновые приложения.

Далее мы опишем порядок очистки оперативной памяти смартфона методом закрытия неиспользуемых фоновых приложений. Для этого в качестве примера мы воспользуемся редакционным смартфоном Samsung Galaxy A50 с ОС Android 11 с One UI 3.1.

Важное замечание: Вы должны понимать, что этот механизм временного освобождения места в ОЗУ не решает проблему загруженности большим количеством фоновых приложений. Для этого нужно воспользоваться способом перевода «лишних» приложений в спящий режим, или просто удалить неиспользуемые приложения. Для перехода к статье Как отключить фоновую работу приложений на Samsung Galaxy, нажмите здесь.

Инструкция по очистке оперативной памяти от неиспользуемых фоновых приложений на смартфоне Samsung.

1. Запускаем приложение Настройки телефона с экрана приложений, нажав на значок «Настройки».

Далее находим раздел «Обслуживание устройства» и открываем его.

1 и 2 Очистить ОЗУ

Скрин №1 – нажать на значок «Настройки» на экране приложений. Скрин №2 – нажать на название раздела «Обслуживание устройства».

2. В разделе «Обслуживание устройства» нужно нажать на позицию «ОЗУ».

Раздел «ОЗУ» показал, что сейчас доступно 1,1 ГБ памяти, использовано 2,4 ГБ из 4 ГБ ОЗУ.

Неиспользуемые приложения в ОЗУ занимают 682,5 МБ.

Для очистки оперативной памяти от неиспользуемых, но запущенных фоновых приложений нужно нажать на кнопку «ОЧИСТИТЬ (+682 МБ)»

3 и 4 Очистить ОЗУ

Скрин №3 – нажать на позицию ОЗУ. Скрин №4 – для очистки оперативной памяти от лишних фоновых процессов нужно нажать на кнопку «ОЧИСТИТЬ».

3. Вот таким образом происходит процесс удаления «лишних» фоновых приложений из оперативной памяти смартфона.

В результате очистки ОЗУ стало доступно уже 1.3 ГБ оперативной памяти!

5 и 6 Очистить ОЗУ

Скрин №5 – вид экрана смартфона во время очистки памяти смартфона. Скрин №6 – вид раздела ОЗУ после очистки: «Доступно: 1,3 ГБ».

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

В слоях настройки, таких как EMUI, MIUI или One UI, у нас есть варианты предотвратить закрытие приложений в фоновом режиме , но с тех пор, как система, известная как doze, стала интегрироваться в Android, теперь нам гораздо сложнее контролировать те фоновые приложения, которые закрываются на Android. Они обычно не доставляют проблем, но в определенных случаях мы могли бы их иметь.

Предотвратить закрытие приложений в фоновом режиме

Когда мы прекращаем получать уведомления от определенного приложения, мы обвиняем его в том, что он спал в фоновом режиме, или система решила закрыть его, именно в этой ситуации мы можем больше всего желать, чтобы приложения не закрывались. По этой причине важно знать, как мы можем избежать этого в Android 10 и Android 11 стоковые без настройки слоев, которые изменяют параметры.

Управление фоновыми приложениями Android

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

ахорро батерия андроид 11

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

Единственный способ избежать закрытия некоторых приложений

Поскольку операционная система выполняет всю работу за нас, нам придется контролировать только в случае, если мы прекратим получать уведомления или что-то в этом роде. Мы сделаем это с помощью следующих шагов:

Список будет отображаться со всеми приложениями без оптимизации, и поэтому они закрываются при необходимости, а также со многими другими, которые уже оптимизированы по умолчанию и которые закрыть на заднем плане , Мы собираемся выбрать те, которые уже оптимизированы, и перейдем к той, которую мы хотим изменить. Нажав на него, мы сможем внести изменения и переключаться между оптимизацией, чтобы не оптимизировать, имея в виду, что это окажет важное влияние на батарею.

Читайте также: