Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.OutOfMemoryError: GC overhead limit exceeded on Android 1.4

I get an java.lang.OutOfMemoryError: GC overhead limit exceeded when run gradle on Android 1.4 ... these are my depedencies :

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;
    }

How can this be fixed?

like image 797
Amay Diam Avatar asked Aug 21 '15 05:08

Amay Diam


People also ask

What is GC overhead limit?

GC Overhead Limit Exceeded Error It's thrown by the JVM when it encounters a problem related to utilizing resources. More specifically, the error occurs when the JVM spent too much time performing Garbage Collection and was only able to reclaim very little heap space.

How do you resolve GC overhead limit exceeded in Talend?

Open the Job in Studio, and navigate to the Advanced > Run tab below the designer view. Click the plus [+] sign next to the JVM parameters window, and a dialog will open where you can add the -XX:-UseGCOverheadLimit flag.


4 Answers

Add this to your android closure(build gradle):

 dexOptions {         javaMaxHeapSize "4g"  } 

This will solve your problem. Still, if you face problem see the following link

GC overhead limit exceeded error

like image 53
King of Masses Avatar answered Oct 03 '22 02:10

King of Masses


This is what I suggest:

Add this to your "gradle.properties" file:

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

Also, read this article. You might be able to make the building a bit faster, by adding a combination of those:

org.gradle.daemon=true org.gradle.parallel=true org.gradle.configureondemand=true 
like image 32
android developer Avatar answered Oct 03 '22 01:10

android developer


In my case, OutOfMemoryError is come from this error. Starting a Gradle Daemon, 1 busy and 6 stopped Daemons could not be reused, use --status for details

To solve this. I use ./gradlew --stop or ./gradle --stop. If still not solved which mean the gradle process is lock (this happen after OutOfMemoryError).

Go to /users/[username]/.gradle/daemon (hidden) folder.

You will see each built gradle version folder like 3.2 3.3 4.0.1 4.1 4.10.1 4.10.2 4.4 4.6 5.4.1 5.5

Go into these folders and remove the file named

registry.bin

registry.bin.lock

For me, I remove all these folders.

Then rebuild you app. Should be work now.

like image 23
Kyo Kurosagi Avatar answered Oct 03 '22 00:10

Kyo Kurosagi


This worked for me !! Just add the following lines into "gradle.properties" file

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
like image 44
abhi Avatar answered Oct 03 '22 02:10

abhi