Android工作室需要太多的内存

我已经安装了Android Studio 1.0 RC 2.我安装了4GB内存,但是启动Android Studio并启动Android模拟器后,只有这两个内存使用了超过90%的物理内存。 有什么办法可以减less这个内存的使用吗? 由于这个内存问题,我无法同时打开其他应用程序。 在这里输入图像描述

我目前在运行Windows 8.1的机器上安装了6个RAM的Android Studio。

我发现在android studio中禁用VCS并使用外部程序来处理VCS非常有帮助。 您可以通过转到文件 – > 设置 – > 插件来禁用VCS,并禁用以下内容:

  • CVS集成
  • Git集成
  • GitHub上
  • Google云testing
  • Google云端工具核心
  • 适用于Android Studio的Google云端工具
  • hg4idea
  • Subversion集成

在我的情况下,内存占用有两个主要来源:IDE和Gradle:

Android Studio(高达1.5GB)

IDE的JVM被configuration为具有最大堆大小。 你可以在主界面的右下angular看到这个:

Android Studio显示725M最大堆大小

您可以通过编辑.vmoptions文件中 与内存相关的设置来减less这种情况。 例如,我将我的最大堆大小更改为512MB:

 -Xmx512m 

不幸的是,我发现降低这个值会增加Android Studio暂时冻结的频率,也许会做垃圾回收。

Gradle(高达1.5GB)

开发一段时间后,Gradle也可以使用大量的RAM。 Windows只是将其显示为Java(TM) Platform SE Binary

Windows 8.1任务管理器显示“Java(TM Platform SE二进制”使用1,460.5 MB的内存

您可以通过更改Gradle JVM选项来解决这个问题。 您可以通过编辑gradle.properties来以每个用户的身份执行此gradle.properties

  1. 打开gradle.properties文件,创build它,如果它不存在:
    • Windows: %USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac: ~/.gradle/gradle.properties
  2. 更新org.gradle.jvmargs属性,如有必要创build它。 我把我的这个设定为:

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

我没有注意到我的小项目的最大堆大小设置为256MB( -Xmx256m )的构build性能有任何差异。

请注意,您可能需要重新启动Android Studio才能使旧的 Gradle进程终止; 否则你可能会同时运行。

模拟器

关于模拟器占用大量内存,截图显示大约需要800MB。 您可以select分配给模拟器的RAM数量:

  1. 编辑AVD
  2. 显示高级设置
  3. 降低RAM的值

Android虚拟设备RAM配置

您可以加快您的Eclipse或Android Studio的工作,您只需按照以下步骤操作:

  • 一次使用/打开单个项目
  • 每次在模拟器中运行应用程序后清理项目
  • 使用移动/外部设备而不是仿真器
  • 使用一次后不要closures仿真器,每次使用同一个仿真器来运行应用程序
  • 通过使用文件 – >设置 – >插件禁用VCS,并禁用以下内容:
    1.CVS集成
    2.Git集成
    3.GitHub
    4.适用于Android Studio的Google云端工具
    5.颠覆整合

我也在使用安装了4 GB主内存的Android Studio,但是这些语句确实提高了我的Android Studio性能。

Android Studio最近发布了一个低内存机器的官方指南: Guide

如果您在计算机上运行的Android Studio的build议规格(请参阅“系统要求”),则可以自定义IDE以提高计算机的性能,如下所示:

  • 减less可用于Android Studio的最大堆大小:将Android Studio的最大堆大小降至512Mb。

  • 更新Gradle和Gradle的Android插件 :更新到Gradle的最新版本和Gradle的Android插件,以确保您利用最新的性能改进。

  • 启用省电模式 :启用省电模式将closures一些内存和电池密集型后台操作,包括错误突出显示和即时检查,自动启动代码完成以及自动增量后台编译。 要打开省电模式,请单击文件>省电模式。

  • 禁用不必要的lint检查 :要更改Android Studio在代码上运行的lint检查,请按照以下步骤操作:单击文件>设置(在Mac上,Android Studio>首选项)以打开“设置”对话框。在左窗格中,展开编辑器部分然后单击检查。 点击checkbox以select或取消select针对您项目的lint检查。 单击应用或确定保存您的更改。

  • 在物理设备上进行debugging:在仿真器上进行debugging比在物理设备上进行debugging需要更多内存,因此您可以通过在物理设备上进行debugging来提高Android Studio的整体性能。

  • 仅包括必要的Google Play服务作为依赖关系 :将Google Play Services作为依赖关系包含在您的项目中会增加必要的内存量。 只包含必要的依赖关系,以改善内存使用情况和性能。 有关更多信息,请参阅将Google Play服务添加到您的项目。

  • 减less可用于DEX文件编译的最大堆大小 :将DEX文件编译的javaMaxHeapSize设置为200m。 有关更多信息,请参阅通过configurationDEX资源来改善构build时间。

  • 不要启用并行编译 :Android Studio可以并行编译独立的模块,但是如果你有一个低内存系统,你不应该打开这个function。 要检查此设置,请按照下列步骤操作:单击文件>设置(在Mac上,Android Studio>首选项)以打开设置对话框。 在左侧窗格中,展开“构build”,“执行”,“部署”,然后单击“编译器”。 确保“并行编译独立模块”选项未被选中。如果已经做了更改,请单击“应用”或“确定”使更改生效。

  • 打开Gradle的离线模式 :如果您的bandwitch有限制,打开离线模式可以防止Gradle在您的构build过程中尝试下载缺失的依赖关系。 脱机模式打开时,如果缺less任何依赖项,Gradle将发出构build失败,而不是尝试下载它们。 要打开离线模式,请按照下列步骤操作:

    • 单击文件>设置(在Mac上,Android Studio>首选项)打开设置对话框。

    • 在左侧窗格中,展开构build,执行,部署,然后单击Gradle。

    • 在Global Gradle设置下,选中Offline workcheckbox。

    • 单击应用或确定,以使更改生效。

我已经使用了上面所有的Sam的build议,但是我发现不再支持VM命令行选项。 (我使用时收到一个错误)

作为替代scheme,我可以通过将下面的代码行添加到“gradle.properties”文件中来显着减lessgradle

 org.gradle.jvmargs=-Xms512m -Xmx1024m 

从AS版本1.3开始,文件与“gradle.build”位于相同的文件夹级别。

上述configuration是512兆的“内存堆栈”,1024兆的“内存堆栈”。

我在一个小项目上testing了这个,使用两个内存大小都设置为256兆的设置。 它按预期限制了JVM的大小。 在我所有的testing中,我重新启动了AS来强制JVM重新启动。

希望这可以帮助那些处理这个问题的人从那些“让自己变得更好的计算机”的反应中获益。 🙂

迪里拜尔

为了减less滞后,我会推荐以下步骤

我的电脑规格:2 GB内存,处理器:英特尔core2二重奏

首先杀死所有的后台进程,如果你有服务器或数据库运行,你可以先用下面的命令停止它们

sudo服务apache2停止

sudo服务mysql停止

然后通过文件>省电模式在android studio中启用省电模式

它可以禁用后台进程,然后工作室似乎进展顺利

在低configuration机器上运行Android环境。

  1. closures浏览器中的常规web标签
  2. 对于防病毒用户,排除自动生成的生成文件夹
  3. Android Studio有1.2 Gb的默认堆可以减less到512 MB

帮助>编辑自定义VM选项

 studio.vmoptions -Xmx512m 

布局的performance会加快

  1. 对于Gradle Android工作室Mkae的核心组件之一肯定就像现在3.0beta是最新的一个

以下提示会影响代码质量,请谨慎使用:

  1. Studio 开机时包含电源安全模式 ,closures后台操作,编码补码等。

  2. 您可以在需要时手动运行lint检查./gradlew lint

  3. 大多数平均使用Android模拟器 ,它消耗2 GB的RAM,所以如果可能的话使用实际的Android设备,这将减less您的计算机上的资源负载。 或者,您可以减less模拟器的RAM,它会自动减less计算机上的虚拟内存消耗。 你可以在虚拟设备configuration和高级设置中find它。

  4. Gradle脱机模式是带宽受限用户禁用构build依赖项下载的function。 这将减less后台操作,这将有助于提高Android工作室的性能。

  5. Android工作室提供了并行编译多个模块的优化。 在低RAM机器上,这个function可能会对性能产生负面影响 。 您可以在编译器设置对话框中禁用它。

我有Android Studio 2.1.1兄使用genymotion模拟器它更快,如果使用Android棉花糖。 而我的公羊是4gb.And安装插件genymotion在Android Studio.You会看到很好的结果,而不是浪费时间开始Android操作系统将需要5分钟.genymotion 10至20秒的速度和更快,所以我build议你使用genymotion。

我喜欢这个来自Google的YouTubevideo,其中有一些提示和技巧。 该video还包括build议更改的优点和缺点。

在受内存限制的机器上提高Android Studio的性能