
Google Play обновил свои рекомендации по качеству приложений Android на этой неделе с новыми пороговыми значениями памяти, которые разработчики должны соблюсти к февралю 2027 года или столкнуться с последствиями для листинга магазина. Коротко: приложения, которые постоянно превышают новый бюджет памяти на бюджетных устройствах, будут терять рейтинг, а в итоге распространение в Play. Если ваше приложение растет постепенно и вы никогда не измеряли его использование памяти, это именно тот год, чтобы начать.
Лучшие инструменты Android для этой задачи — это смесь профилировщиков разработчика (встроенный в Android Studio, Perfetto, Firebase) и мониторов на устройстве, которые показывают, что думает о вашем приложении телефон реального пользователя. Вот семь стоящих установки, плюс два инструмента на стороне SDK, которые стоит подключить.
На что обращать внимание при профилировании памяти Android
Начните с представления на устройстве. Телефон любого реального пользователя — это среда, в которой должно выжить ваше приложение, и мониторы на устройстве ниже позволяют вам проверить запас памяти, ваклоки и использование приложением без ноутбука.
Для глубокого профилирования инструмент должен разбирать память по типам выделения: Java heap, native heap, графика, код, стек и общая. Одного числа недостаточно. Обратите внимание и на историю профилирования в производстве: Firebase и Bugsnag захватывают производительность реального устройства так, как не могут лабораторные инструменты.
Посмотрите, как инструмент справляется с утечками памяти конкретно. LeakCanary находится внутри вашего приложения; профилировщик Android Studio показывает дампы heap. Оба необходимы на разных этапах. Наконец, посмотрите на путь экспорта. Если вы можете сохранить дамп heap и поделиться им с коллегой, это меняет скорость, с которой вы можете исправить утечку.
Быстрое сравнение
| Приложение | Лучше всего для | Бесплатный план | Платный уровень | Отличительная особенность |
|---|---|---|---|---|
| DevCheck Device & System Info | Представление оперативной памяти приложения на устройстве | Бесплатно с объявлениями | Около $2.99 для удаления объявлений | Живая статистика памяти приложения и системы без root |
| Simple System Monitor | Компактный обзор системы | Бесплатно с объявлениями | Около $1.99 Pro | Небольшой монитор памяти для самого бюджета ОЗУ |
| GSam Battery Monitor | Корреляции памяти на стороне батареи | Бесплатно | Платный Pro уровень | Показывает, что работает при падении батареи, коррелирует с памятью |
| Wakelock Detector | Вылавливание фоновых ваклоков | Бесплатно | Бесплатно | Называет приложения, которые держат CPU в состоянии пробуждения, связано с памятью |
| Android Studio Memory Profiler | Глубокое профилирование по уровню выделения | Бесплатно | Бесплатно | Канонический профилировщик Java/native heap для Android |
| Perfetto UI | Трассировка уровня системы и профилировщик памяти | Бесплатно, open source | Бесплатно | Тот же инструмент, который используют инженеры Google внутри компании |
| Firebase Performance Monitoring | Данные производства о памяти от реальных пользователей | Бесплатный уровень | План Firebase Blaze | Время запуска реальных пользователей, зависания и медленный рендеринг |
| Bugsnag | Отчеты об авариях и стабильности | Бесплатный уровень | Платные бизнес-планы | Группирует аварии OOM, так что утечка имеет лицо |
1. DevCheck Device & System Info
DevCheck показывает, что думает телефон о каждом работающем приложении в реальном времени: приватная чистая, приватная грязная, общая, плюс использование CPU и батареи. Это самый быстрый способ на устройстве ответить “использует ли мое приложение слишком много памяти на среднем устройстве без ноутбука”. Root не требуется.
Где это не справляется: бесплатная версия поддерживается объявлениями. Нагрузка объявлений управляема, а платное раскрытие недорого.
Цена: Бесплатно с объявлениями. Около $2.99 для разблокировки версии без объявлений.
Платформы: Android.
Скачать: Aptoide · Google Play
Итоговая линия: проверка здравомыслия на устройстве, которая должна быть на тестовом устройстве каждого разработчика Android.
2. Simple System Monitor
Simple System Monitor показывает CPU и ОЗУ с первого взгляда в постоянном уведомлении, плюс графики истории. Это приложение, которое вы закрепляете, когда хотите поймать скачок памяти в момент его возникновения: запустите ваше приложение, смотрите на линию ОЗУ, смотрите на крах.
Где это не справляется: это представление системы, а не профилировщик приложения. Сопряжите его с DevCheck для чисел, специфичных для приложения.
Цена: Бесплатно с объявлениями. Около $1.99 Pro удаляет объявления и добавляет дополнительные виджеты.
Платформы: Android.
Скачать: Aptoide · Google Play
Итоговая линия: фоновый монитор, который ловит скачок, который вы пропустили.
3. GSam Battery Monitor
GSam Battery Monitor начинался как приложение для батареи, но остался, потому что его отслеживание использования каждым приложением коррелирует падение батареи с тем, что работало. Процессы, требующие большой памяти в фоне, часто требуют большой батареи в фоне. GSam называет оба.
Где это не справляется: вы должны предоставить разрешение использования-статистики для GSam, чтобы четко видеть другие приложения.
Цена: Бесплатно. Pro удаляет некоторые ограничения.
Платформы: Android.
Скачать: Aptoide · Google Play
Итоговая линия: представление коррелляции между памятью и батареей.
4. Wakelock Detector
Wakelock Detector разоблачает приложения, которые держат CPU в пробуждении. Это не напрямую памяти, но это часто одна и та же ошибка: служба, которая держит ваклок, — это служба, которая держит выделения. Если память вашего приложения нормальна при запуске и увеличивается в течение часа, Wakelock Detector указывает вам на цикл, который никогда не остановился.
Где это не справляется: современный Android ограничил ваклоки по сравнению с более ранними версиями, поэтому некоторые показания менее тревожны, чем кажутся.
Цена: Бесплатно.
Платформы: Android.
Скачать: Aptoide · Google Play
Итоговая линия: инструмент для медленной утечки памяти, которую вы не можете воспроизвести по требованию.
5. Android Studio Memory Profiler
Android Studio Memory Profiler — это канонический инструмент разработчика для Android. Подключите его к отладочной сборке, выделите интересующий вас путь кода, и он показывает живой график Java heap, native heap, графики, кода, стека и неизвестного. Захватите дамп heap и он показывает объекты по классу, удерживаемый размер и дерево доминирующих узлов.
Где это не справляется: вам нужна отладочная сборка. Некоторые оптимизации, которые R8 делает в релизе, не отображаются в профиле отладки.
Цена: Бесплатно.
Платформы: Windows, macOS, Linux (Android Studio).
Скачать: Android Studio
Итоговая линия: профилировщик, которым вы профилируете; ничто на устройстве не заменяет это для настоящей отладки.
6. Perfetto UI
Perfetto UI — это инструмент системной трассировки, который используют инженеры Google внутри компании, предлагаемый как веб-приложение. Записывает трассировку с устройства с помощью Perfetto или профилировщика Android Studio, затем загружайте ее в Perfetto UI и видите планирование ядра, события памяти, трафик binder и активность каждого потока. Это самый глубокий взгляд, который вы можете взять без написания eBPF зонда.
Где это не справляется: кривая обучения реальна. Ожидайте потратить вечер в первый раз.
Цена: Бесплатно, open source.
Платформы: Любой браузер.
Скачать: Perfetto UI
Итоговая линия: средство просмотра трассировки на уровне системы, к которому вы переходите после профилировщика Studio.
7. Firebase Performance Monitoring
Firebase Performance Monitoring подключается к сборке Gradle вашего приложения и сообщает метрики запуска, зависания и медленного рендеринга от реальных пользователей. Он отмечает, когда ваш медианный или p99 отпечаток памяти увеличивается между релизами, что и есть история, которая вам нужна для порога Play.
Где это не справляется: бесплатный уровень ограничивает количество трассировок. Тяжелые приложения достигают этих ограничений.
Цена: Бесплатный уровень. План Blaze Firebase — это плата по мере использования для более высоких лимитов.
Платформы: Кроссплатформенный SDK, консоль Firebase в браузере.
Скачать: Firebase
Итоговая линия: уровень данных производства для порога памяти Play.
8. Bugsnag
Bugsnag — это репортер аварий, который группирует аварии OOM (out-of-memory), чтобы вы могли сказать, стоит ли за ними один ошибочный экран или медленная утечка. Его панель инструментов, пожалуй, самый чистый способ увидеть метрики стабильности на релиз.
Где это не справляется: бесплатный уровень ограничен по объему событий. Платные бизнес-планы масштабируются с вашим приложением.
Цена: Бесплатный уровень. Платные планы масштабируются с событиями и функциями.
Платформы: Кроссплатформенный SDK, панель инструментов Bugsnag в браузере.
Скачать: Bugsnag
Итоговая линия: сторона аварий работы с памятью, чтобы OOM не исчез в общем скачке.
Как выбрать
Для проверки здравомыслия на устройстве перед отправкой сборки DevCheck и Simple System Monitor отвечают на 80% вопроса “это приложение слишком большое?”. Для настоящей отладки профилировщик памяти Android Studio неизбежен; переходите к Perfetto UI, когда профилировщик перестает отвечать на вопрос. Подключите Firebase Performance Monitoring, чтобы поймать регрессию в базе пользователей, и подключите Bugsnag, чтобы авария OOM имела лицо. Используйте GSam и Wakelock Detector, когда утечка периодична и вам нужно коррелировать память с батареей или фоновыми пробуждениями.
Часто задаваемые вопросы
Каково новое правило Android приложений по памяти Google Play?
Google Play обновил свои рекомендации по производительности с новыми пороговыми значениями памяти, которые приложения должны соблюсти к февралю 2027 года на профилях устройств начального уровня. Приложения, которые постоянно превышают бюджет, теряют рейтинг в Play и в итоге распространение.
Как я профилирую использование памяти приложением Android?
Начните с профилировщика памяти Android Studio на отладочной сборке. Для данных производства добавьте Firebase Performance Monitoring. Для живых показаний на устройстве установите DevCheck на тестовое устройство.
Могу ли я профилировать приложение Android без ноутбука?
Да, до определенной степени. DevCheck и Simple System Monitor дают показания памяти для приложения на самом устройстве. Для отладки на уровне выделения вам все еще нужен ноутбук и Android Studio.
Что такое Perfetto?
Perfetto — это инструмент трассировки на уровне системы, который Google использует внутри компании. Он записывает трассировку устройства и позволяет вам инспектировать планирование ядра, события памяти и активность каждого потока в веб-интерфейсе.
Как LeakCanary подходит к этому списку?
LeakCanary — это библиотека детектора утечек в приложении, а не установляемое приложение в Google Play. Добавьте его к вашей отладочной сборке, чтобы поймать удерживаемые объекты, которые иначе стали бы авариями OOM. Сопряжите его с профилировщиками выше.