방금 Android Studio를 3.5 베타 1로 업데이트했는데
JVM 힙 공간이 부족하여 데몬 만료
빌드가 실행되는 동안 메시지. 또한 빌드를 완료하는 데 더 많은 시간이 걸립니다. 누구든지 이것에 대해 어떤 생각이 있습니까?
방금 Android Studio를 3.5 베타 1로 업데이트했는데
JVM 힙 공간이 부족하여 데몬 만료
빌드가 실행되는 동안 메시지. 또한 빌드를 완료하는 데 더 많은 시간이 걸립니다. 누구든지 이것에 대해 어떤 생각이 있습니까?
답변:
다음을 구성하여 React Native 프로젝트 에서이 문제를 해결할 수있었습니다 .
// gradle.properties
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
과
// app/build.gradle
android {
dexOptions {
javaMaxHeapSize "3g"
}
}
해결책은 Android 빌드 메모리를 늘리는 것입니다.
앱에 더 많은 모듈을 추가하면 Android 빌드 시스템에 대한 엄청난 수요가 발생하고 기본 메모리 설정이 작동하지 않습니다. Android 빌드 중에 OutOfMemoryErrors 를 방지하려면 /android/gradle.properties에 있는 대체 gradle 메모리 설정의 주석 처리를 제거해야합니다 .
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
android 폴더 내에서 gradle.properties를 찾을 수 있습니다 .
추신
우리가 이것을하는 것은 무엇이며 왜 도움이됩니까?
전체를 이해하기위한 몇 가지 기본 용어를 정리하겠습니다.
데몬 :-데몬은 대화 형 사용자가 직접 제어하지 않고 백그라운드 프로세스로 실행되는 컴퓨터 프로그램입니다.
Android Studio 2.1 은 새로운 기능인 Dex In Process를 지원 합니다.이 기능 은 완전 정리 빌드의 속도를 대폭 향상시키고 Instant Run 성능을 개선 할 수 있습니다.
Dex In Process를 활용하려면 gradle.properties 파일을 수정 하고 org.gradle.jvmargs 속성을 사용하여 Gradle Daemon VM 에 할당 된 메모리 양을 최소 2Gb로 1Gb 늘려야합니다. :
데몬 프로세스에 사용되는 JVM 인수를 지정합니다. 이 설정은 메모리 설정을 조정하는 데 특히 유용합니다.
org.gradle.jvmargs=-Xmx2048m
기본값:
-Xmx10248m -XX:MaxPermSize=256m
기본 Gradle Daemon VM 메모리 할당은 1GB입니다. 이는 dexInProcess를 지원하기에 불충분하므로 이점을 활용하려면 최소 2GB로 설정해야합니다.
Dex in process는 Gradle 과도 공유되는 단일 VM 내에서 여러 DEX 프로세스를 실행할 수 있도록하여 작동하므로 사용 설정하기 전에 추가 메모리를 할당해야합니다.이 메모리는 Gradle과 여러 DEX 프로세스간에 공유됩니다.
모듈 수준 build.gradle 파일의 javaMaxHeapSize를 기본값 인 1GB 이상으로 늘린 경우 Gradle Daemon에 할당 된 메모리를 적절히 늘려야합니다.
할당 된 메모리가 충분하면 Dex in Process가 기본적으로 사용 설정되어 전체 빌드 성능이 향상되고 여러 병렬 VM 인스턴스를 시작 하는 오버 헤드가 제거 됩니다. 그 결과 Instant Run, 증분 및 전체 빌드를 포함한 모든 빌드 시간이 크게 향상되었습니다.
출처 : https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
gradle.properties에 넣으십시오. 여전히 작동하지 않으면 미안합니다. 어떻게 고칠 지 모르겠습니다.
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
에서 주석 을 제거 android/gradle.properties
하는 것은 매력적입니다. 감사!! @KailashUniyal