Студия Android занимает слишком много памяти

Я установил Android Studio 1.0 RC 2. У меня установлено 4 ГБ ОЗУ, но после запуска Android Studio и запуска Android-эмулятора более 90% физической памяти использовались только этими двумя. Есть ли способ уменьшить использование этой памяти? Из-за этой проблемы с памятью я не могу одновременно открывать другие приложения. введите описание изображения здесь

В настоящее время я запускаю Android Studio на компьютере под управлением Windows 8.1 с 6 гигабайтами оперативной памяти.

Я обнаружил, что отключение VCS в студии android и использование внешней программы для обработки VCS очень помогли. Вы можете отключить VCS, выбрав File -> Settings -> Plugins и отключите следующее:

  • Интеграция CVS
  • Интеграция Git
  • GitHub
  • Google Cloud Testing
  • Google Cloud Tools Core
  • Google Cloud Tools для Android Studio
  • hg4idea
  • Интеграция с Subversion

В моем случае было два основных источника памяти: IDE и Gradle:

Android Studio (до 1,5 ГБ)

JVM IDE настроен на максимальный размер кучи. Вы можете увидеть это в нижнем правом углу основного интерфейса:

Android Studio показывает максимальный размер кучи 725M

Вы можете уменьшить это, отредактировав параметры, связанные с .vmoptions файле .vmoptions . Например, я изменил максимальный размер кучи на 512 МБ:

 -Xmx512m 

К сожалению, я обнаружил, что снижение этого значения увеличивает частоту Android Studio, временно замерзающую, возможно, для сбора мусора.

Gradle (до 1,5 ГБ)

Gradle также может использовать много оперативной памяти после разработки на некоторое время. Windows просто показывает его как Java(TM) Platform SE Binary :

Диспетчер задач Windows 8.1 с надписью «Java (TM Platform SE binary) с использованием 1,460,5 МБ памяти

Вы можете исправить это, изменив параметры JVM Gradle. Вы можете сделать это для каждого пользователя, отредактировав gradle.properties :

  1. Откройте файл gradle.properties , создав его, если он не существует:
    • Windows: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. Обновите свойство org.gradle.jvmargs , создав его, если необходимо. Я поставил перед этим следующее:

     org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

Я не заметил никакой разницы в производительности сборки для моего небольшого проекта с максимальным размером кучи, установленным на 256 МБ ( -Xmx256m ).

Обратите внимание, что вам может потребоваться перезапустить Android Studio, чтобы старый процесс Gradle был убит; в противном случае вы можете запустить оба одновременно.

Эмулятор

Что касается эмулятора, занимающего много вашего ОЗУ, ваш скриншот показывает, что он занимает около 800 МБ. Вы можете выбрать, сколько ОЗУ будет выделяться эмулятору:

  1. Редактировать AVD
  2. Нажмите « Показать дополнительные настройки»
  3. Уменьшите значение ОЗУ

Конфигурация ОЗУ виртуального устройства Android

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

  • Использовать / открывать один проект за раз
  • очищайте свой проект после запуска приложения в эмуляторе каждый раз
  • использовать мобильное / внешнее устройство вместо эмулятора
  • не закрывайте эмулятор после использования один раз, используйте тот же эмулятор для запуска приложения каждый раз
  • Отключите VCS с помощью File-> Settings-> Plugins и отключите следующие функции:
    Интеграция 1.CVS
    Интеграция 2.Git
    3.GitHub
    4. Инструменты Google Cloud для Android Studio
    5. Интеграция с преобразованием

Я также использую Android Studio с 4-ГБ установленной основной памятью, но после этих утверждений действительно повышается производительность Android Studio.

Android Studio недавно опубликовала официальное руководство для компьютеров с низкой памятью: Руководство

Если вы используете Android Studio на компьютере с меньшими рекомендованными спецификациями (см. Системные требования), вы можете настроить IDE для повышения производительности на вашем компьютере, а именно:

  • Уменьшите максимальный размер кучи, ansible для Android Studio : уменьшите максимальный размер кучи для Android Studio до 512 Мб.

  • Обновите Gradle и Android-плагин для Gradle : обновите до последних версий Gradle и Android-плагина для Gradle, чтобы убедиться, что вы используете последние улучшения производительности.

  • Включить режим энергосбережения. Включение режима энергосбережения отключает ряд фоновых операций, связанных с памятью и интенсивностью батареи, включая подсвечивание ошибок и проверки «на лету», завершение кода автозапуска и автоматическую инкрементную сборку фона. Чтобы включить режим энергосбережения, выберите «Файл»> «Режим энергосбережения».

  • Отключите ненужные проверки на линт : Чтобы изменить, какие проверки проверяет Android Studio на вашем коде, действуйте следующим образом: Нажмите «Файл»> «Настройки» (на Mac, Android Studio> «Настройки»), чтобы открыть диалоговое окно «Параметры». На левой панели разверните раздел «Редактор» и нажмите «Инспекции». Установите флажки, чтобы выбрать или отменить выбор шрифтов, подходящих для вашего проекта. Нажмите «Применить» или «ОК», чтобы сохранить изменения.

  • Отладка на физическом устройстве . Отладка на эмуляторе использует больше памяти, чем отладка на физическом устройстве, поэтому вы можете улучшить общую производительность для Android Studio путем отладки на физическом устройстве.

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

  • Уменьшите максимальный размер кучи, ansible для компиляции файлов DEX : установите компиляцию javaMaxHeapSize для DEX в 200 м. Дополнительные сведения см. В разделе «Улучшение времени сборки» путем настройки ресурсов DEX.

  • Не включайте параллельную компиляцию : Android Studio может скомпилировать независимые модули параллельно, но если у вас есть система с низкой памятью, вы не должны включать эту функцию. Чтобы проверить этот параметр, действуйте следующим образом: Нажмите «Файл»> «Настройки» (на Mac, Android Studio> «Настройки»), чтобы открыть диалоговое окно «Настройки». На левой панели разверните узел «Сборка», «Выполнение», «Развертывание» и нажмите «Компилятор». Убедитесь, что параметр Независимые от компиляции параллельные параметры не отмечены. Если вы внесли изменения, нажмите «Применить» или «ОК», чтобы изменения вступили в силу.

  • Включение автономного режима для Gradle : если у вас ограниченный кнопочный переключатель, включите автономный режим, чтобы предотвратить попытку Gradle загружать отсутствующие зависимости во время сборки. Когда включен автономный режим, Gradle выдает сбои сборки, если вам не хватает каких-либо зависимостей, а не пытается их загрузить. Чтобы включить автономный режим, действуйте следующим образом:

    • Нажмите «Файл»> «Настройки» (на Mac, Android Studio> «Настройки»), чтобы открыть диалоговое окно «Настройки».

    • В левой панели разверните сборку, выполнение, развертывание и нажмите «Gradle».

    • В разделе «Глобальные настройки» установите флажок «Работа в автономном режиме».

    • Нажмите «Применить» или «ОК», чтобы изменения вступили в силу.

Я использовал все рекомендации Сэма выше, но я обнаружил, что параметры командной строки VM больше не поддерживаются, как описано. (Я получил ошибку при использовании)

В качестве альтернативы я смог резко уменьшить gradleиент, добавив следующую строку в файл «gradle.properties»

 org.gradle.jvmargs=-Xms512m -Xmx1024m 

Начиная с версии AS ver 1.3 файл находится на том же уровне папки, что и «gradle.build».

Вышеупомянутая конфигурация представляет собой «стек памяти» 512 мегабайт, а «куча памяти» – 1024 мегабайта.

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

Надеюсь, это спасет других, занимающихся этой проблемой, от получения ответов «Получите себя лучше». 🙂

Dilber

Чтобы уменьшить отставание, я бы рекомендовал следующие шаги

мои спецификации ПК: 2 ГБ оперативной памяти, процессор: intel core2 duo

сначала убейте весь фоновый процесс, если у вас есть сервер или firebase database, вы можете сначала остановить их с помощью следующих команд

sudo service apache2 stop

sudo service mysql stop

Затем включите режим энергосбережения в студии android по файлу> режим энергосбережения

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

Для запуска Android на низкоуровневой машине.

  1. Закройте необработанные веб-вкладки в браузере.
  2. Для пользователей антивируса исключить автоматически создаваемую папку
  3. Android-студия имеет 1,200 Гбайт кучи по умолчанию может уменьшиться до 512 МБ

Справка> Редактирование пользовательских параметров виртуальной машины

 studio.vmoptions -Xmx512m 

Макеты будут ускоряться

  1. Для Gradle один из основных компонентов в студии Android Mkae уверен, что сейчас 3.0beta является последним

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

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

  2. Вы можете запускать ручную проверку линта, когда это необходимо ./gradlew lint

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

  4. Режим Gradle offline – это функция для пользователей с ограниченной пропускной способностью для отключения загрузки зависимостей сборки. Это уменьшит фоновые операции, которые помогут повысить производительность студии Android.

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

У меня есть Android Studio 2.1.1. Используйте эмулятор genymotion для использования в браузере. Он быстрее, если вы используете Android Marshmallow. И My Ram Is 4gb.And Установите плагин для genymotion в Android Studio. Вы увидите хороший результат, вместо того, чтобы тратить время на запуск андроид-эйуматора, это займет 5 минут. От 10 до 20 секунд и быстрее, поэтому я рекомендовал вам использовать genymotion.

Я люблю это видео YouTube от Google, где есть некоторые советы и рекомендации. Видео также содержит преимущества и недостатки предлагаемых изменений.

Улучшение производительности Android Studio на устройствах с ограничением памяти

  • Ускорьте работу цикла в R
  • 5 лет спустя, есть ли что-то лучшее, чем «самые быстрые возможные delegates на С ++»?
  • System.IO.FileSystemWatcher для отслеживания папки сетевого сервера - соображения производительности
  • Конструктор медленного SoapHttpClientProtocol
  • Быстрое расстояние Левенштейна в R?
  • Производительность HTTP против HTTPS
  • Когда использовать StringBuilder в Java
  • C # самый быстрый способ смены массива
  • Является ли стандарт C ++ низкой эффективностью для iostreams, или я просто имею дело с плохой реализацией?
  • Производительность bcp / BULK INSERT по сравнению с табличными параметрами
  • Заменить значения в списке с помощью Python
  • Давайте будем гением компьютера.