web-dev-qa-db-ja.com

java.lang.OutOfMemoryError:Android 1.4でGCオーバーヘッド制限を超えました

Java.lang.OutOfMemoryError:GCオーバーヘッドの制限を超えています gradle on Android 1.4 ...これらは私の依存:

dependencies {
    compile project(':Android-crop')
    compile project(':RTEditor-Toolbar')

        compile files('libs/Apache-mime4j-0.6.jar')
        compile files('libs/httpmime-4.1.3.jar')
    /*    compile files('libs/httpcore-4.4.1.jar')*/
    compile files('libs/jetbrains-annotations.jar')
    compile files('libs/pinchzoom.jar')
    compile files('libs/gcm.jar')
    compile 'com.google.Android.gms:play-services:7.8.0'
    compile 'com.Android.support:multidex:1.0.0'
    compile 'com.Android.support:appcompat-v7:22.2.1'
    compile 'com.Android.support:cardview-v7:22.2.1'
    compile 'com.Android.support:design:22.2.1'
    compile 'com.Android.support:recyclerview-v7:22.2.1'
    compile 'com.Android.support:support-v4:22.2.1'
    //three party library
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.mcxiaoke.volley:library:1.0.18'
    compile 'com.vinaysshenoy:mugen:1.0.1'
    compile 'com.github.clans:fab:1.5.5'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.github.curioustechizen.Android-ago:library:1.3.0'
    compile 'com.squareup.okio:okio:1.5.0'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
    compile('com.crashlytics.sdk.Android:crashlytics:2.5.1@aar') {
        transitive = true;
    }

これはどのように修正できますか?

22
Amay Diam

これをAndroid closure(build gradle):

 dexOptions {
        javaMaxHeapSize "4g"
 }

これで問題が解決します。それでも、問題に直面した場合は、次のリンクを参照してください

GCオーバーヘッド制限を超えたエラー

65
King of Masses

これは私が提案するものです:

これを「gradle.properties」ファイルに追加します。

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError

また、 この記事 を読んでください。これらの組み合わせを追加することで、建物を少し速くすることができる場合があります。

org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
33

これは私のために働いた!!次の行を「gradle.properties」ファイルに追加するだけです

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
4
Abhishek Dhyani
dexOptions {
   javaMaxHeapSize "4g"
}

最大ヒープサイズを使用できます。増分は非推奨であり、デフォルトでは増分フィールドはtrueです

2
Kaveri

JVM/Dalvikが98%以上をGCに費やし、ヒープサイズの2%以下しか回復しない場合、「Java.lang.OutOfMemoryError:GCオーバーヘッド制限を超えました」がスローされます。

解決策は、ヒープ領域を拡張するか、プロファイリングツール/メモリダンプアナライザーを使用して、問題の原因を見つけることです。

1
greg8188

私のテストは、gradleバージョン5.2.1で失敗しました「GCオーバーヘッド制限がJava.lang.OutOfMemoryErrorを超えました:GCオーバーヘッド制限を超えました」。以下のようにbuild.gradleにmaxHeapSizeを追加して解決しました。

 test {
        maxHeapSize = "4g"
    }
0