Android Studio的JVM内存不足问题怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio的JVM内存不足问题怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A 1、清理
打开腾讯手机管家——清理加速
腾讯手机管家可以清理垃圾文件、缓存文件、软件的残余、和多余的安装包。
2、卸载不要的
打开腾讯手机管家——软件管理——软件卸载
3、软件搬家
进入腾讯手机管家>清理加速>手机瘦身>软件转移储存卡进行相关操作~!
4、腾讯手机管家小火箭可清理加速内存本回答被提问者采纳

在 Android Studio 中更新 buildToolsVersion '23.0.1' 后出现内存不足问题

【中文标题】在 Android Studio 中更新 buildToolsVersion \'23.0.1\' 后出现内存不足问题【英文标题】:Out of memory issue after updating buildToolsVersion '23.0.1' in Android studio在 Android Studio 中更新 buildToolsVersion '23.0.1' 后出现内存不足问题 【发布时间】:2016-01-09 14:36:42 【问题描述】:

在将buildToolsVersion '22.0.1' 更新为buildToolsVersion '23.0.1' 后,我经常出现内存不足的问题,我真的很困惑,不知道如何解决这个问题,因为这个错误只在buildTools 版本23.0.1 中显示。而当我将其更改为 22.0.1 时它工作正常。请帮我。我发布的错误如下,

Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java heap space
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_25\bin\java.exe'' finished with non-zero exit value 1

build.gradle

apply plugin: 'com.android.application'

android 
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig 
        applicationId "com.example.app"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        // Enabling multidex support.
        multiDexEnabled true
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    


dependencies 

    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'com.android.support:palette-v7:23.0.1'
    compile 'com.google.android.gms:play-services:7.5.0'

提前致谢。

【问题讨论】:

【参考方案1】:

将此添加到您的 build.gradle 文件中的 android 闭包中:

dexOptions 
    javaMaxHeapSize "4g"

Android Studio Google JAR file causing GC overhead limit exceeded error

【讨论】:

我遇到了同样的问题,这很有效。但是为什么会出现这个问题呢? @L.更快的是,GC 开销限制超出了。似乎 java 需要比默认的更多的堆空间。 同样的问题并在 Android Studio 2.2 Beta 2 / Ubuntu 16.04 LTS 上解决【参考方案2】:

接受的答案有效,但我对将dexOptions 放在我的build.gradle 中的位置感到有些困惑。我们实际上把它放在了 android 部分。

这里是 sn-p 示例:

android 

    dexOptions 
        javaMaxHeapSize "4g"
    

    ......

【讨论】:

【参考方案3】:

实际上,对我来说,我使用了一个更复杂的解决方案,它结合了上面的所有内容,并在模块的 build.gradle 文件中启用了 multidex。

A.在 defaultConfig 部分添加这一行以启用 multiDex

// Enabling multidex support.
multiDexEnabled true

B.比设置 dexOptions,像这样:

dexOptions 
    incremental true
    javaMaxHeapSize "4G"

C.改成 multidex 并将堆设置为 4g 后,可能会出现溢出错误,导致我取消注释并修改项目的 gradle.properties 文件中的 jvmargs 行,例如:

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

这些值可能因您的机器而异。您也可以使用双精度值。

【讨论】:

【参考方案4】:

除了上述过程之外,还有另一个选项可以设置 jvm 参数。

org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .

该设置用于调整内存。 Xms:启动内存 Xmx:最大内存

【讨论】:

【参考方案5】:

我解决了这个问题

    转到“系统” 环境设置高级 将 _JAVA_OPTIONS 值从“-Xms1024m”编辑为“-Xms2048m” (如果不存在 _JAVA_OPTIONS 则单击新建按钮创建它) 确定并保存重启

我认为这对你也有帮助。 如果它有用,请支持这个答案。

【讨论】:

是的@Ali,这是针对 Windows 的【参考方案6】:
dexOptions 
        javaMaxHeapSize "4g"
    

通过在 build.gradle 文件中添加这个(模块级别)解决了我的问题,我遇到了同样的问题

【讨论】:

【参考方案7】:

在您的应用级别 build.gradle 中使用它:

android 
    dexOptions 
        javaMaxHeapSize "4g"
    

【讨论】:

以上是关于Android Studio的JVM内存不足问题怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

内存不足错误:Android Studio 上的 Java 堆内存

在 Android Studio 中更新 buildToolsVersion '23.0.1' 后出现内存不足问题

优化Android Studio在AMD 2990WX上的编译速度

理解 JVM 内存分配和 Java 内存不足:堆空间

是否可以在 Intellij IDE (Android Studio) 中显示堆内存大小?

信息 JVM 参数。 . . -XX:+HeapDumpOnOutOfMemoryError - 节点是不是内存不足?