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

Обновлено: 21.11.2024

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

Плохое управление памятью приложениями вредит всем. Независимо от того, есть ли у вас бюджетный телефон с 4 ГБ или меньше оперативной памяти или флагман с 8+ ГБ, когда только одно приложение потребляет больше памяти, чем ему нужно, вся система может замедлиться. К счастью, в большинстве устройств Android есть встроенный инструмент, помогающий решить эту проблему.

Способ 1. Поиск запущенных служб

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

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

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

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

Способ 2. Просмотр использования памяти

На некоторых смартфонах Android пункт "Память" находится в параметрах разработчика. Опять же, вы должны сначала включить параметры разработчика, а затем открыть меню в самом низу списка настроек или в «Настройки» -> «Система» -> «Дополнительно». В разделе «Параметры разработчика» прокрутите вниз и выберите «Память».

Здесь вы увидите текущее использование оперативной памяти вашего телефона. Выберите «Использование памяти», чтобы увидеть среднее использование приложений за последние три часа. Вы можете настроить этот временной интервал, выбрав стрелку вниз рядом с «3 часа», и вы можете нажать кнопку меню в правом верхнем углу и выбрать «Сортировать по максимальному использованию», если хотите. Выберите приложение, чтобы просмотреть дополнительную информацию об использовании им памяти, а затем используйте эту информацию, чтобы решить, хотите ли вы удалить проблемное приложение.

Способ 3. Используйте Samsung Device Care

У пользователей Samsung Galaxy есть доступ к другому инструменту, Device Care. В разделе «Настройки» -> «Уход за устройством» -> «Память» вы найдете доступную на данный момент оперативную память для вашего устройства. Samsung предложит приложения, которые вы либо не используете, либо вызывают проблемы, и перечислит их здесь под кнопкой «Очистить сейчас». Однако вы не хотите использовать эту кнопку для освобождения места, так как это не решает проблему. Вместо этого используйте эту информацию, чтобы перевести рассматриваемые приложения в спящий режим или удалить их.

Защитите свое соединение без ежемесячного счета.Получите пожизненную подписку на VPN Unlimited для всех своих устройств, совершив разовую покупку в новом магазине Gadget Hacks Shop, и смотрите Hulu или Netflix без региональных ограничений, повышайте безопасность при просмотре в общедоступных сетях и многое другое.

Джо Федева

Джо Федева
штатный писатель

Джо Федева — штатный автор How-To Geek. Он освещает потребительские технологии более десяти лет и ранее работал редактором новостей в XDA Developers. Джо любит все, что связано с технологиями, а также в глубине души заядлый любитель делать что-то своими руками. Он написал тысячи статей, сотни руководств и десятки обзоров. Подробнее.

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

Во-первых, нам нужно включить скрытые «Параметры разработчика» Android. Здесь скрыты некоторые полезные функции, в том числе возможность увидеть, какие приложения используют больше всего памяти. Уберите это с дороги, прежде чем продолжить.

Затем проведите один или два раза вниз (в зависимости от телефона) от верхней части экрана, чтобы открыть полное меню быстрых настроек, затем коснитесь значка шестеренки.

Прокрутите вниз до «Система».

Теперь выберите «Параметры разработчика».

Нажмите "Память", чтобы просмотреть статистику использования ОЗУ.

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

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

На этом все! Приложения упорядочены по объему используемой памяти, поэтому самые расточительные будут в верхней части списка. «ОС Android», «Система Android» и «Сервисы Google Play» всегда будут вверху. Прокрутите вниз, чтобы найти сторонние приложения.

  • › 7 основных функций Microsoft Excel для составления бюджета
  • › Сколько оперативной памяти требуется вашему ПК?
  • › Matter — это долгожданный стандарт умного дома
  • › 5 вещей, которые вы, вероятно, не знали о GIF-файлах
  • › Что такое GrapheneOS и как она делает Android более приватным?
  • › Что означает ИК и как вы его используете?

Как узнать объем памяти, используемый моим приложением для Android, программным путем?

Я надеюсь, что есть способ сделать это. Кроме того, как получить свободную память телефона?

10 ответов 10

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

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

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

Теперь ActivityManager.getMemoryInfo() — это наш API самого высокого уровня для просмотра общего использования памяти. В основном это делается для того, чтобы помочь приложению оценить, насколько близка система к тому, что у нее не останется памяти для фоновых процессов, поэтому необходимо начать убивать необходимые процессы, такие как службы. Для чисто Java-приложений от этого будет мало толку, так как ограничение кучи Java существует отчасти для того, чтобы одно приложение не могло нагрузить систему до такой степени.

На более низком уровне вы можете использовать Debug API для получения необработанной информации об использовании памяти на уровне ядра: android.os.Debug.MemoryInfo

Обратите внимание, что начиная с версии 2.0 также существует API ActivityManager.getProcessMemoryInfo для получения этой информации о другом процессе: ActivityManager.getProcessMemoryInfo(int[])

Это возвращает низкоуровневую структуру MemoryInfo со всеми этими данными:

Но в чем разница между Pss , PrivateDirty и SharedDirty . ну а теперь начинается самое интересное.

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

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

Число Pss — это метрика, вычисляемая ядром и учитывающая совместное использование памяти. По сути, каждая страница ОЗУ в процессе масштабируется в соотношении с количеством других процессов, также использующих эту страницу. Таким образом, вы можете (теоретически) суммировать ps для всех процессов, чтобы увидеть общий объем оперативной памяти, которую они используют, и сравнить ps между процессами, чтобы получить приблизительное представление об их относительном весе.

Еще одна интересная метрика — это PrivateDirty , который представляет собой объем ОЗУ внутри процесса, который не может быть выгружен на диск (он не поддерживается теми же данными на диске) и не используется совместно с другими процессами. Еще один способ взглянуть на это — объем оперативной памяти, которая станет доступной для системы, когда этот процесс завершится (и, вероятно, быстро будет включена в кэши и другие виды ее использования).

Это в значительной степени SDK API для этого. Однако вы как разработчик можете сделать на своем устройстве больше.

С помощью adb можно получить много информации об использовании памяти работающей системой. Распространенной является команда adb shell dumpsys meminfo, которая выдает кучу информации об использовании памяти каждым процессом Java, содержащую вышеуказанную информацию, а также множество других вещей. Вы также можете добавить имя или pid одного процесса, чтобы увидеть, например, adb shell dumpsys meminfo system дает мне системный процесс:

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

Если вы просто хотите посмотреть на использование памяти всеми процессами, вы можете использовать команду adb shell procrank . Вывод этого в той же системе выглядит так:

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

Pss — это то, что мы видели раньше, а Uss — Priv Dirty .

И наконец, есть команда adb shell cat /proc/meminfo, которая дает сводку об общем использовании памяти в системе. Данных здесь много, обсуждать стоит только первые несколько цифр (а остальные понимаются немногими, и мои вопросы этим немногим людям о них часто приводят к противоречивым объяснениям):

MemTotal – это общий объем памяти, доступной ядру и пользовательскому пространству (часто меньше, чем фактическая физическая оперативная память устройства, поскольку часть этой оперативной памяти требуется для радиомодуля, буферов прямого доступа к памяти и т. д.).

MemFree — это объем ОЗУ, который вообще не используется. Число, которое вы видите здесь, очень велико; обычно в системе Android это будет всего несколько МБ, поскольку мы пытаемся использовать доступную память для поддержания процессов в рабочем состоянии

Кэширование — это ОЗУ, используемое для кэширования файловой системы и других подобных вещей. Типичные системы должны будут иметь 20 МБ или около того, чтобы избежать попадания в плохие состояния пейджинга; Android-убийца нехватки памяти настроен для конкретной системы, чтобы гарантировать, что фоновые процессы будут уничтожены до того, как кешированная оперативная память будет потребляться ими слишком много, чтобы привести к такому пейджингу.

Эта статья была написана Джеком Ллойдом. Джек Ллойд — технический писатель и редактор wikiHow. У него более двух лет опыта написания и редактирования статей, связанных с технологиями. Он увлекается технологиями и преподает английский язык.

Техническая команда wikiHow также следовала инструкциям в статье и убедилась, что они работают.

Эта статья была просмотрена 592 715 раз.

В этой статье wikiHow вы узнаете, как проверить использование оперативной памяти Android и ее общий объем. Хотя вы больше не можете проверять оперативную память в разделе «Память» приложения «Настройки», вы можете использовать скрытое меню «Параметры разработчика», чтобы просмотреть статистику оперативной памяти вашего Android.Вы также можете использовать бесплатное приложение Simple System Monitor для просмотра использования оперативной памяти на любом устройстве Android, а владельцы Samsung Galaxy могут использовать приложение Device Maintenance.

Откройте настройки Android. Вы найдете этот значок в виде шестеренки в списке приложений. Если у вас Samsung Galaxy, это лучший способ проверить использование оперативной памяти.

  • Возможно, вам придется прокрутить вниз, чтобы просмотреть эту функцию.
  • Чтобы освободить оперативную память, коснитесь параметра "Очистить сейчас".

  • Если вы используете Samsung Galaxy Android, сначала необходимо нажать «Информация о программном обеспечении».

  • Если вы не видите сообщение "Теперь вы разработчик!" появится сообщение, продолжайте нажимать на заголовок "Номер сборки", пока не увидите его.

  • На Samsung Galaxy или любом другом устройстве Android, на котором вы открыли меню внутри меню "О программе", дважды нажмите клавишу "Назад".

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

  • На Samsung Galaxy эта информация находится в разделе "Состояние ОЗУ" в верхней части экрана.

Нажмите Использование памяти . Это отображает список приложений, упорядоченных по объему потребляемой ими памяти. [2] X Источник исследования

  • Откройте Play Маркет.
  • Нажмите на строку поиска.
  • Введите простой системный монитор .
  • Нажмите «Простой системный монитор» в раскрывающемся списке результатов.
  • Нажмите «УСТАНОВИТЬ», затем нажмите «СОГЛАСЕН», если будет предложено.

Откройте простой системный монитор. Нажмите ОТКРЫТЬ в магазине Google Play или коснитесь бело-голубого значка приложения Simple System Monitor на панели приложений Android.

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

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

Иногда информацию о ПЗУ можно получить в меню «Настройки»> «О телефоне». В противном случае вы можете обратиться в свою телефонную компанию.

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

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

Вам также может понравиться

Приложение

Об этой статье

Эта статья была написана Джеком Ллойдом. Джек Ллойд — технический писатель и редактор wikiHow. У него более двух лет опыта написания и редактирования статей, связанных с технологиями. Он энтузиаст технологий и учитель английского языка. Эта статья была просмотрена 592 715 раз.

"Самый простой способ узнать, сколько оперативной памяти используется на вашем устройстве Android, — это использовать бесплатное приложение Simple System Monitor. Хотя это приложение не сообщает вам, сколько оперативной памяти потребляет каждое приложение, оно отлично подходит для общего обзор. Чтобы загрузить приложение, откройте Google Play Store, коснитесь строки поиска и выполните поиск по запросу «Простой системный монитор». В результатах поиска выберите «Простой системный монитор». Приложение имеет синий значок с белый треугольный сигнал внутри. Нажмите «Установить». Когда загрузка будет завершена, нажмите «Открыть», чтобы запустить ее. сколько используется. Если у вас Samsung Galaxy, вы также можете использовать встроенное приложение «Уход за устройством», чтобы увидеть использование оперативной памяти. Откройте список приложений и коснитесь приложения «Настройки». Выберите «Уход за устройством». или «Обслуживание устройства» в меню — название зависит от модели. Теперь нажмите «Память», чтобы просмотреть общий объем оперативной памяти в вашем телефоне или планшете, а также использование оперативной памяти для каждого приложения. Если ваш телефон или планшет запущен медленно, вы можете нажать «ОЧИСТИТЬ СЕЙЧАС», чтобы освободить оперативную память. Другой вариант — включить секретное меню «Параметры разработчика» вашего Android, что можно сделать практически на любой модели Android. Сначала откройте настройки Android и нажмите «О телефоне» или «О планшете». Затем прокрутите до параметра «Номер сборки» — если вы используете Samsung Galaxy, нажмите «Информация о программном обеспечении». первый. Найдя его, нажмите «Номер сборки» 7 раз — после 7-го нажатия вы увидите сообщение «Теперь вы разработчик». Теперь нажмите кнопку «Назад», чтобы вернуться к основным настройкам. меню, а затем коснитесь «Параметры разработчика». В зависимости от модели вы увидите параметр «Память» или «Запущенные службы». как количество в использовании. Вы можете нажать «Использование памяти», чтобы разбить использование ОЗУ приложением. Дополнительные советы, в том числе о том, как загрузить приложение для проверки оперативной памяти на телефоне Android, читайте дальше!

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