В моем случае было два основных источника прерывания памяти: IDE и Gradle:
Android Studio (до 1,5 ГБ)
В виртуальной среде IDE настроен максимальный размер кучи. Вы можете увидеть это в правом нижнем углу основного интерфейса:
Вы можете уменьшить это путем редактирования параметров , связанных с памятью в в .vmoptions
файле . Например, я изменил свой максимальный размер кучи на 512 МБ:
-Xmx512m
К сожалению, я обнаружил, что понижение этого значения увеличивает частоту временного зависания Android Studio, возможно, для сбора мусора.
Gradle (до 1,5 ГБ)
Gradle также может использовать много оперативной памяти после некоторой разработки. Windows просто показывает это как Java(TM) Platform SE Binary
:
Вы можете исправить это, изменив параметры Gradle JVM. Вы можете сделать это для каждого пользователя, отредактировав gradle.properties
:
- Откройте
gradle.properties
файл, создав его, если он не существует:
- Окна:
%USERPROFILE%\.gradle\gradle.properties
- Linux / Mac:
~/.gradle/gradle.properties
Обновите org.gradle.jvmargs
свойство, создав его при необходимости. Я установил мой на это:
org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Я не заметил никакой разницы в производительности сборки для моего небольшого проекта с максимальным размером кучи, равным 256 МБ ( -Xmx256m
).
Обратите внимание, что вам может потребоваться перезапустить Android Studio, чтобы старый процесс Gradle был убит; в противном случае вы можете одновременно запустить оба.
Эмулятор
Что касается эмулятора, занимающего много вашей оперативной памяти, то на скриншоте видно, что он занимает около 800 МБ. Вы можете выбрать объем ОЗУ для эмулятора:
- Редактировать AVD
- Нажмите Показать дополнительные настройки
- Уменьшить стоимость оперативной памяти