instant run java.lang.OutOfMemoryError: GC overhead limit exceeded

前端 未结 4 1431
刺人心
刺人心 2020-12-14 19:54

I have upgraded to Android Studio 2.1 and I got this error while I am trying to build & run my corporate big project:

Execution failed for task \

相关标签:
4条回答
  • 2020-12-14 20:33

    Add this to your gradle.properties file.

    # The Gradle daemon aims to improve the startup and execution time of Gradle.
    # When set to true the Gradle daemon is to run the build.
    org.gradle.daemon=true
    
    # Specifies the JVM arguments used for the daemon process.
    # The setting is particularly useful for tweaking memory settings.
    # Default value: -Xmx10248m -XX:MaxPermSize=256m
    org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
    # When configured, Gradle will run in incubating parallel mode.
    # This option should only be used with decoupled projects. More details, visit
    # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
    org.gradle.parallel=true
    
    # Enables new incubating mode that makes Gradle selective when configuring projects.
    # Only relevant projects are configured which results in faster builds for large multi-projects.
    # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
    org.gradle.configureondemand=true
    

    Found Here

    And on my build.gradle :

    ....
         dexOptions
             {
                   incremental false
                   javaMaxHeapSize "2048M" 
                   preDexLibraries = false
             }//end dexOptions
    
    ....
    
    0 讨论(0)
  • 2020-12-14 20:33

    Another method to set the heap size for particular jobs is to use environment variables for each job. This ensures that the memory is available when the job that requires a higher memory is not in use.

    GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xms1024M -Xmx8192M -XX:PermSize=512M -XX:MaxPermSize=2048 -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"
    
    JAVA_OPTS="-XX:MaxPermSize=2048M"
    
    0 讨论(0)
  • 2020-12-14 20:42

    Step1: Change build.grade

    defaultConfig {
            ...
            // Enabling multidex support.
            multiDexEnabled true
           }
    
    dependencies {
            ...
            compile 'com.android.support:multidex:1.0.0'
        }
    

    Step2: Setting on the Application class

    public class MyApplication extends Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        MultiDex.install(this);
    }
    
    }
    

    Step3: Change grade.properties

    org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    

    It will work!. Thanks.

    0 讨论(0)
  • 2020-12-14 20:57
    defaultConfig {
        multiDexEnabled =true
    }
    

    add this to your build.gradle file of the app

    0 讨论(0)
提交回复
热议问题