升级 Android 项目以使用 java 8 并超出 GC 开销限制
Upgrade Android project to use java 8 and get GC overhead limit exceeded
昨天我更改了 android 项目 gradle 文件以使用 java 8 个功能:
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
一切都很好。我使用了 lambda 表达式和 运行 项目。
但是今天,我不知道我的项目发生了什么(我将 master 重置为 "upgrading project to use java 8 features" 提交)。我无法构建项目。超过 5 分钟后 android 工作室在 gradle 控制台中向我显示错误:
Exception in thread "Tasks limiter_1" java.lang.OutOfMemoryError: GC overhead limit exceeded
它卡在了
:app:compileDebugJavaWithJack
我注意到创建了一个新文件 "java_pid25702.hprof",它非常大(大约 1.5 GB)。
我正在使用 Android studio 2.2,java 版本“1.8.0_51”,Mac book pro(核心 i7,16gb 内存),OS X 版本 10.11.4
我也换了我的 android 工作室 "studio.vmoptions" :
-Xms2048m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
我看到这些帖子:Error java.lang.OutOfMemoryError: GC overhead limit exceeded , 但是 none 它们对我有帮助。
我的问题是 1-为什么我的项目昨天可以正常运行,但今天却不行??! 2-我该怎么办?
经过几个小时并在其他一些系统上测试项目后,我发现我应该将 Android studio 更新为
Android Studio 2.2 stable version
同时更新:
Android Plugin version to 2.2.0
Gradle Version to 2.14.1
然后 gradle 控制台显示 gradle 堆大小低的警告,您应该通过添加来增加它:
org.gradle.jvmargs=-Xmx1536M
到项目中的 gradle.properties
文件。现在我的项目 运行 没有任何问题。
昨天我更改了 android 项目 gradle 文件以使用 java 8 个功能:
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
一切都很好。我使用了 lambda 表达式和 运行 项目。
但是今天,我不知道我的项目发生了什么(我将 master 重置为 "upgrading project to use java 8 features" 提交)。我无法构建项目。超过 5 分钟后 android 工作室在 gradle 控制台中向我显示错误:
Exception in thread "Tasks limiter_1" java.lang.OutOfMemoryError: GC overhead limit exceeded
它卡在了
:app:compileDebugJavaWithJack
我注意到创建了一个新文件 "java_pid25702.hprof",它非常大(大约 1.5 GB)。
我正在使用 Android studio 2.2,java 版本“1.8.0_51”,Mac book pro(核心 i7,16gb 内存),OS X 版本 10.11.4
我也换了我的 android 工作室 "studio.vmoptions" :
-Xms2048m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
我看到这些帖子:Error java.lang.OutOfMemoryError: GC overhead limit exceeded ,
我的问题是 1-为什么我的项目昨天可以正常运行,但今天却不行??! 2-我该怎么办?
经过几个小时并在其他一些系统上测试项目后,我发现我应该将 Android studio 更新为
Android Studio 2.2 stable version
同时更新:
Android Plugin version to 2.2.0
Gradle Version to 2.14.1
然后 gradle 控制台显示 gradle 堆大小低的警告,您应该通过添加来增加它:
org.gradle.jvmargs=-Xmx1536M
到项目中的 gradle.properties
文件。现在我的项目 运行 没有任何问题。