Java.lang.OutOfMemoryError: превышение верхнего предела GC на Android 1.4

Я получаю java.lang.OutOfMemoryError: превышение верхнего предела GC превысило при запуске gradle на 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:[email protected]') {
        transitive = true;
    }

Как это можно зафиксировать?

Ответы

Ответ 1

Добавьте это к закрытию Android (build gradle):

 dexOptions {
        javaMaxHeapSize "4g"
 }

Это решит вашу проблему. Тем не менее, если вы столкнулись с проблемой, см. Следующую ссылку

превышен лимит накладных расходов GC

Ответ 2

Вот что я предлагаю:

Добавьте это в свой файл gradle.properties:

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

Кроме того, прочитайте эту статью. Возможно, вы сможете сделать здание немного быстрее, добавив комбинацию из них:

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

Ответ 3

Это сработало для меня! Просто добавьте следующие строки в файл "gradle.properties"

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true

Ответ 4

dexOptions {
   javaMaxHeapSize "4g"
}

Вы можете просто пойти на максимальный размер кучи. инкрементное депортируется и по умолчанию инкрементное поле имеет значение true

Ответ 5

Когда JVM/Dalvik тратит более 98% на GC, и восстанавливается только 2% или меньше размера кучи, генерируется " java.lang.OutOfMemoryError: превышение верхнего предела GC.".

Решение состоит в том, чтобы расширить пространство кучи или использовать инструменты профилирования/анализаторы дампа памяти и попытаться найти причину проблемы.

Ответ 6

Мой тест не удался в gradle версии 5.2.1 "Превышен лимит накладных расходов GC java.lang.OutOfMemoryError: Превышен лимит накладных расходов GC" Я решил, добавив maxHeapSize в build.gradle, как показано ниже:

 test {
        maxHeapSize = "4g"
    }

Ответ 7

В моем случае, OutOfMemoryError происходит от этой ошибки. Запуск демона Gradle, 1 занят и 6 остановленных демонов не могут быть повторно использованы, для подробностей используйте --status

Чтобы решить это. Я использую ./gradlew --stop или ./gradle --stop. Если все еще не решено, что означает, что gradle-процесс блокируется (это происходит после OutOfMemoryError).

Перейдите в /users/[username]/.gradle/daemon (скрытую) папку.

Вы увидите каждую встроенную папку версии Gradle, например 3.2 3.3 4.0.1 4.1 4.10.1 4.10.2 4.4 4.6 5.4.1 5.5

Зайдите в эти папки и удалите файл с именем

registry.bin

registry.bin.lock

Для меня я удаляю все эти папки.

Затем перестройте приложение. Должно быть работа сейчас.