5

Когда Android Studio собирает мой проект, он легко пожирает все мои 8 ядер. Я хотел бы иметь возможность свободно просматривать Интернет во время компиляции моего приложения. Есть ли способ, которым я могу установить Java-процессы Gradle, чтобы иметь низкий приоритет (хороший уровень> 10)?

Это решение отлично работает для моей системы gentoo (при работе с portage в хорошем состоянии 19 я обычно могу использовать свой ПК во время компиляции). Оптимально, только java Gradle должен работать с низким приоритетом, поэтому сама Android Studio остается отзывчивой. Если это невозможно, может быть, проще ограничить использование Java-виртуальными машинами Gradle только 5-7 ядрами? Это, вероятно, приведет к увеличению времени сборки.


РЕДАКТИРОВАТЬ

Я немного поэкспериментировал с этим вручную. Я запустил скрипт в цикле, который устанавливает хороший уровень 15 ("низкий приоритет" для пользователей Windows) для всех новых процессов Java каждую секунду. К сожалению, система все еще не очень отзывчива. Я вижу, что во время компиляции моя средняя нагрузка увеличивается до двадцати, где у меня только 4 (логических) ядра. Это означает, что Gradle порождает слишком много потоков. Где-то еще я читал, что также эти потоки редко дают, что может быть причиной того, что снижение приоритета не помогает.

Итак, обновленный вопрос: возможно ли ограничить количество потоков, используемых Gradle?

2 ответа2

3

Похоже, что это известная проблема, сейчас идет спор об этом апстриме: https://code.google.com/p/android/issues/detail?id=66696.

Говорят, что сборка должна использовать общий пул потоков, параметр для установки ее размера - -Pandroid.threadPoolSize=<count> и должен быть доступен в Android Studio 2.3 beta 3.

0

Просто создайте ярлык с помощью следующего пути:

cmd.exe /c запустить "Android Studio" /LOW «C:\Program Files\Android\Android Studio\bin\studio64.exe»

Или каждый раз устанавливайте приоритет в диспетчере задач, но я считаю, что такой подход лучше :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .