Задать вопрос
@prosto_anton

Как уменьшить потребление памяти при сборке в Android Studio?

Суть проблемы в том, что на мое ноутбуке все 4Гб оперативы и докупить не получится (ноут старый).
Поэтому приходится шаманить с настройками gradle. В принципе, у меня свободно порядка 2,5Гб, своп использовать не хочу.

Пытался устанавливать следующие настройки сборки в студии в диалоге Gradle-Android Compiler:
--parallel --max-workers=2 --no-rebuild -Dorg.gradle.jvmargs=-Xmx1536m

a74f4b83646a4afa8a409add6658c829.png

Также пытался устанавливать настройки в файле $HOME_DIRECTORY/.gradle/gradle.properties:
org.gradle.parallel=false
org.gradle.daemon=true
org.gradle.jvmargs=-Xms1024m -Xmx1024m -XX:MaxPermSize=512m
org.gradle.configureondemand=false
org.gradle.workers.max=1

Также пытался выставить настройки в файле gradle.properties в самом проекте:
org.gradle.jvmargs=-Xms1024m -Xmx1024m -XX:MaxPermSize=512m

Переменные среды тоже пытался устанавливать:
GRADLE_OPTS=-Xmx1024m

Ни в одном случае это не помогло, процесс пытался сожрать все доступные системные ресурсы и даже больше.

Вопрос:
где именно следует изменять настройки проекта?
  • Вопрос задан
  • 2703 просмотра
Подписаться 2 Оценить 3 комментария
Решения вопроса 1
@prosto_anton Автор вопроса
В общем, если кому-то будет интересен мой опыт.
Урезаем память демону gradle, так как он не слишком много делает, а по умолчанию жрет прилично.
3a55f25ee566487dbdd6ca966c3442b1.png

Основную роль в процессе сборки играет упаковка, хотя, возможно, не правильно назвал. Здесь потребление памяти можно регулировать следующим образом:
android {
dexOptions {
maxProcessCount 1
javaMaxHeapSize '1200m'
}
}
Цифра в 1200Мб достигнута эмпирически, будет зависеть от приложения.

Также я еще ресурсов idea подрезал, она не обиделась:
-Xms128m
-Xmx128m
-XX:ReservedCodeCacheSize=32m
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы