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

Обновлено: 04.07.2024

Оперативной памяти много не бывает и это утверждение чувствуют на себе даже владельцы мобильных устройств под управлением операционной системы Андроид с установленными 3 и более Гб ОЗУ. Те же, кто использует менее производительные девайсы с 1-2 Гб оперативной памяти начинают замечать замедление работы практически сразу после начала активного использования устройства.

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

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

Очистка ОЗУ от ненужных приложения в Андроид

Первый и самый простой способ очистки ОЗУ от уже якобы закрытых программ, это использование менеджера приложений. Он появился в пятом Андроиде, вызывается в разных устройствах по-разному, например, удержанием кнопки «Домой», тапом по «Меню» на главном экране или настраиваемой кнопкой. После запуска менеджера пользователь видит на экране образы экранов ранее открытых приложений. Очистка памяти в этом случае может производиться:

Встроенная утилита Android 7.0 и выше

Начиная с 7-ой версии Андроид, в системе появилось дополнительное приложение, получившее название «Безопасность». Это набор утилит для управления безопасностью и оптимизацией устройства. Здесь в аспекте экономии ОЗУ нас интересуют два режима:

В смартфонах Samsung, зайдите в настройки и выберет раздел «Оптимизация», где есть иконка «ОЗУ», зайдя в неё вы сможете освободить память и закрыть ненужные приложения.

Освобождение памяти при помощи сторонней утилиты

Для владельцев смартфонов, которые хотят иметь возможность в любой момент очистить оперативную память, на версиях ниже Андроид 7.0 оптимальным вариантом борьбы с мусором памяти можно назвать приложение Clean Master. Скачиваем приложение:

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

Обратите внимание, что Clean Master является набором инструментов, который сам по себе замедляет работу устройства, поэтому необходимо пройтись по настройкам и отключить ненужные вам инструменты.

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

Стандартный способ закрытия приложений

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


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

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

Выгрузка из памяти

Данный метод позволяет в кратчайшие сроки принудительно закрыть любой запущенный на телефоне или планшете процесс. В дальнейшем запуск выгруженной программы может занять больше времени и системных ресурсов. Однако метод помогает освободить ОЗУ и снизить нагрузку на ЦПУ, поэтому считается простым и распространённым среди пользователей Андроид-устройств.


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

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

Принудительная остановка

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

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


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

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

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

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

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

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

Как правильно закрывать приложения на Андроиде

Пользователи десктопных операционных систем, будь то Windows, macOS или Linux, привыкли закрывать в них программы нажатием на крестик. В мобильной ОС Android такая возможность, по ряду причин, отсутствует – в буквальном смысле закрыть приложение невозможно, а после условного выхода оно все равно продолжит работать в фоне. И все же, варианты решения этой задачи имеются, о них мы и расскажем далее.

Закрываем приложения на Андроид

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

Закрываем приложения на Андроид

Первое действие отправит вас туда, откуда программа запускалась, второе – на рабочий стол.

Закрываем приложения на Андроид

Закрываем приложения на Андроид

Это самый простой, традиционный для ОС Android вариант выхода, но все-таки не полного закрытия приложения. По факту оно продолжит работать в фоне, создавая небольшую нагрузку на ОЗУ и ЦПУ, а также понемногу потребляя заряд батареи. Так как же полностью его закрыть?

Способ 1: Меню

Меню

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

Меню

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

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

Способ 2: Выгрузка из памяти

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

Выгрузка из памяти

Итак, для полного закрытия сначала нажмите кнопку вызова меню последних приложений (меню многозадачности), а затем отыщите нужное в появившемся списке. Смахните его в сторону, свайпом слева направо по экрану (или снизу вверх на Xiaomi), или закройте, нажав на крестик в правом верхнем углу. Дополнительно имеется возможность «Очистить все», то есть принудительно закрыть все приложения.

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

Если по каким-то причинам метод закрытия через меню многозадачности вас не устраивает, можно поступить более радикально – полностью остановить работу приложения. Делается это следующим образом:

1. Любым удобным способом откройте «Настройки» своего Android-устройства и перейдите к разделу «Приложения и уведомления» (или просто «Приложения»).

Принудительная остановка

2. Далее откройте список всех установленных приложений, тапнув по соответствующей надписи или перейдя в одноименную вкладку (зависит от версии Андроид).

Принудительная остановка

3. Отыщите то приложение, работу которого требуется завершить. Нажмите по его наименованию, а затем, оказавшись на странице с описанием, по кнопке «Остановить». Если потребуется, подтвердите свои намерения, нажав «ОК» во всплывающем окне, и убедитесь в успешном закрытии.

Принудительная остановка

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

Принудительная остановка

Заключение

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

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