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

Обновлено: 07.07.2024

Перегрузка процессора или неправильное использование памяти

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

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

Решения для исправления Android-приложений, которые сами закрываются

Решение 1. Обновите приложение

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

  1. Перейдите в Play Маркет
  2. Нажмите на значок меню (три горизонтальные полосы) слева от строки поиска
  3. Нажмите Мои приложения и игры
  4. Из списка установленных приложений и игр найдите приложение, вызывающее проблемы, и проверьте, подсвечена ли кнопка обновления рядом с ним.
  5. Нажмите Обновить, если кнопка подсвечена, и последняя версия приложения будет установлена на вашем устройстве.


После обновления приложения проверьте, была ли проблема решена.

Решение 2: Свободное место в вашем устройстве

Почитать Как использовать два WhatsApp на одном телефоне Android

Решение 3. Очистка кэша приложений и данных приложений

Если приложение часто падает, вы можете устранить проблему, очистив кэш приложения и его данные. Кэш-файлы приложений включают данные, которые ускоряют производительность приложения. Удаление файлов кэша не приведет к потере важных данных. Файл будет автоматически создан при открытии приложения в следующий раз, хотя вы можете заметить небольшую задержку при открытии приложения после удаления файлов кэша. Это происходит потому, что файлы кэша создаются заново.

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

  1. Перейдите в меню Настройки вашего устройства
  2. Нажмите Приложения
  3. Найдите приложение, вызывающее проблему, и нажмите на него
  4. Нажмите Очистить кэш
  5. Затем нажмите Очистить данные и нажмите ОК, когда появится предупреждение о том, что данные, связанные с конфигурацией приложения, будут потеряны.


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

Решение 4. Удалите приложения, которые вы не используете

  1. Нажмите значок Настройки в шторке уведомлений
  2. Найдите Приложения и нажмите на них
  3. Поищите приложения, которые вам не нужны
  4. Нажмите на них, и у вас либо будет возможность удалить, либо отключить их.

После удаления приложений, которые вы не используете, перезагрузите устройство и проверьте, исправлена ли проблема закрывающегося приложения.

Дополнительные советы:

В дополнение к этим решениям, имейте в виду следующее, дабы убедиться, что Android устройство работает хорошо и приложения работают бесперебойно:

  1. Помните о производительности телефона при установке мощных приложений. Если ваш телефон создан для среднего использования, вы не сможете запускать тяжеловесные игры и приложения, которые могут нанести ущерб процессору. Для тяжелых приложений требуется высокая производительность устройства.
  2. Не забудьте иметь всегда достаточно места для хранения в телефоне, чтобы приложения могли легко создавать файлы данных. Неадекватное пространство часто может быть основной причиной многих проблем.
  3. Некоторые приложения хорошо работают на некоторых устройствах Android и не работают на других. Проблема в том, что разработчики не имеют возможности тестировать каждое приложение на всех устройствах Android. В большинстве случаев вы можете видеть, как определенная группа пользователей столкнулась с проблемой, и видеть это можно через форумы или обратную связь с приложениями. Может и вы принадлежите к такой группе пользователей? В этом случае вам, возможно, придется подождать, пока разработчик заставит приложение работать на вашем устройстве, или вам может быть лучше удалить приложение.

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

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

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

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

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

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

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

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

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

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

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

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

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

Отсюда и возникла эта тема. Хотим сделать программу, которая все таки будет работать.
Вроде получилось ;)
Смысл данной программы выполнить 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а, хорошо сделана программа, но вылетает на моих телефонах сразу.
Обфускатором прошлись-гут.

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

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


Способы остановки работающих в фоновом режиме Android-приложений

Как очистить оперативную память смартфона от неиспользуемых приложений?

Как очистить оперативную память смартфона от неиспользуемых приложений?

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

Как очистить оперативную память смартфона от неиспользуемых приложений?

Если пользователь предпочитает остановить все запущенные приложения, то необходимо коснуться кнопки «Очистить все» («Clear All»), если она доступна.

Как очистить оперативную память смартфона от неиспользуемых приложений?

Если смартфон продолжает работать медленно, то необходимо перейти в пункт «Приложения» меню настроек умного телефона, выбрать определенное приложение и кликнуть по его названию.

Как очистить оперативную память смартфона от неиспользуемых приложений?

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

Свободное общение и обсуждение материалов



Долгое время что-то более-менее существенное с точки зрения сроков обновления предлагала только Apple, где-то рядом с ней шла Google с ее линейкой смартфонов. Начиная с прошлого года, Samsung запустила цепную реакцию, предложив пользователям три года обновлений вместо двух. В результате сейчас производители начали массово переходить на эту схему, существенно продлевая срок службы своих устройств. Конечно, пока не все созрели для такого ”отчаянного” шага, но таких компаний становится все больше и больше. Теперь к их числу присоединилась Xiaomi. Но не стоит спешить радоваться, как обычно есть небольшая загвоздка, которая немного портит впечатление от такого щедрого жеста.


Социальные сети приучили нас к открытости: можно публиковать фотографии, репостить цитаты, видео или мемы, не бояться указывать город и место работы. Возможно, лет 10-15 назад, когда жизнь была лучше, а трава зеленее, делиться всем этим с другими пользователями было вполне безопасно. Недаром ведь раздел VK называется "друзья". К сожалению, жить стало тяжелее, а данные, порой, улетают безвозвратно в руки мошенников: пора привыкать к тому, что открытость уходит в прошлое. Какой же информацией лучше не делиться в соцсетях?

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