java.lang.OutOfMemoryError: GC overhead limit exceeded on Android 1.4
java.lang.OutOfMemoryError: GC overhead limit exceeded on Android 1.4
我得到一个 java.lang.OutOfMemoryError: GC overhead limit exceeded when 运行 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;
}
如何解决这个问题?
将此添加到您的 android 闭包(构建 gradle):
dexOptions {
javaMaxHeapSize "4g"
}
这将解决您的问题。不过,如果您遇到问题,请参阅以下内容 link
GC overhead limit exceeded error
当 JVM/Dalvik 花费超过 98% 的时间进行 GC 并且只有 2% 或更少的堆大小被恢复时,“java.lang.OutOfMemoryError: GC overhead limit exceeded”被抛出。
解决方案是扩展堆 space 或使用分析 tools/memory 转储分析器并尝试找出问题的原因。
这是我的建议:
将此添加到您的 "gradle.properties" 文件中:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
另请阅读this article。通过添加以下组合,您也许可以使构建速度更快一些:
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
我的测试在 gradle 版本 5.2.1 "GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded" 中失败。我通过在 build.gradle 中添加 maxHeapSize 来解决,如下所示:
test {
maxHeapSize = "4g"
}
这对我有用!!
只需将以下行添加到 "gradle.properties" 文件
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
在我的例子中,OutOfMemoryError 就是来自这个错误。
解决这个问题。我使用 ./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
对我来说,我删除了所有这些文件夹。
然后重建你的应用程序。现在应该可以工作了。
只需转到首选项或设置 -> 内存设置 -> 并设置分配的内存
android 工作室 3.5
我得到一个 java.lang.OutOfMemoryError: GC overhead limit exceeded when 运行 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;
}
如何解决这个问题?
将此添加到您的 android 闭包(构建 gradle):
dexOptions {
javaMaxHeapSize "4g"
}
这将解决您的问题。不过,如果您遇到问题,请参阅以下内容 link
GC overhead limit exceeded error
当 JVM/Dalvik 花费超过 98% 的时间进行 GC 并且只有 2% 或更少的堆大小被恢复时,“java.lang.OutOfMemoryError: GC overhead limit exceeded”被抛出。
解决方案是扩展堆 space 或使用分析 tools/memory 转储分析器并尝试找出问题的原因。
这是我的建议:
将此添加到您的 "gradle.properties" 文件中:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
另请阅读this article。通过添加以下组合,您也许可以使构建速度更快一些:
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
我的测试在 gradle 版本 5.2.1 "GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded" 中失败。我通过在 build.gradle 中添加 maxHeapSize 来解决,如下所示:
test {
maxHeapSize = "4g"
}
这对我有用!! 只需将以下行添加到 "gradle.properties" 文件
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
在我的例子中,OutOfMemoryError 就是来自这个错误。
解决这个问题。我使用 ./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
对我来说,我删除了所有这些文件夹。
然后重建你的应用程序。现在应该可以工作了。
只需转到首选项或设置 -> 内存设置 -> 并设置分配的内存
android 工作室 3.5