limitar prioridade/threads para compilações Gradle/Android Studio?

limitar prioridade/threads para compilações Gradle/Android Studio?

Quando o Android Studio cria meu projeto, ele consome facilmente todos os meus 8 núcleos. Gostaria de poder navegar fluentemente na Internet enquanto meu aplicativo está sendo compilado. Existe uma maneira de definir os processos Java do Gradle para terem uma prioridade baixa (nível agradável> 10)?

Essa solução funciona perfeitamente para o meu sistema gentoo (com o portage rodando no niceness 19 normalmente posso usar meu PC enquanto ele está compilando). Idealmente, apenas o Java do Gradle deve ser executado com baixa prioridade, para que o próprio Android Studio permaneça responsivo. Se isso não for possível, talvez seja mais fácil limitar as VMs java do Gradle para usar apenas 5 a 7 núcleos? Provavelmente resultaria em tempos de construção mais longos.


EDITAR

Eu experimentei isso manualmente por um tempo. Executei um script em um loop que define o nível 15 ("prioridade baixa" para usuários do Windows) paratodosnovos processos java a cada segundo. Infelizmente, o sistema ainda não responde muito bem. Vejo que durante a compilação minha carga média sobe paravinteonde tenho apenas 4 núcleos (lógicos). Isso significa que o Gradle gera muitos threads. Em outro lugar eu li que esses threads raramente rendem, o que pode ser a causa pela qual diminuir a prioridade não ajuda.

Então, a pergunta atualizada é:é possível limitar o número de threads usados ​​pelo Gradle?

Responder1

Parece um problema conhecido, há um debate contínuo sobre isso:https://code.google.com/p/android/issues/detail?id=66696

Eles dizem que a construçãodeveusar um pool de threads compartilhado, o parâmetro para definir seu tamanho está -Pandroid.threadPoolSize=<count>e deve estar disponível no Android Studio 2.3 beta 3.

Responder2

Basta criar um atalho com o seguinte caminho:

cmd.exe /c start "Android Studio" /LOW "C:\Arquivos de Programas\Android\Android Studio\bin\studio64.exe"

Ou defina sempre a prioridade no gerenciador de tarefas, mas acredito que essa abordagem seja melhor :)

informação relacionada