Android工作室需要太多内存

时间:2014-11-27 17:40:25

标签: performance android-studio

我安装了Android Studio 1.0 RC 2.我安装了4GB的RAM,但是在启动Android Studio并启动Android Emulator之后,只有这两个物理内存已被使用了90%以上。有没有办法减少这种内存使用?由于此内存问题,我无法同时打开其他应用程序。 enter image description here

13 个答案:

答案 0 :(得分:199)

我目前在Windows 8.1计算机上运行Android Studio,内存为6 GB。

我发现在android studio中禁用VCS并使用外部程序来处理VCS有很大帮助。您可以转到文件 - > 设置 - > 插件来停用VCS并停用以下内容:

  • CVS集成
  • Git Integration
  • GitHub的
  • Google Cloud Testing
  • Google Cloud Tools Core
  • 适用于Android Studio的Google Cloud Tools
  • hg4idea
  • Subversion Integration
  • Mercurial Integration
  • TestNG的-J

答案 1 :(得分:98)

就我而言,有两个主要的内存来源:IDE和Gradle:

Android Studio(最高1.5GB)

IDE的JVM配置为具有最大堆大小。您可以在主界面的右下角看到这一点:

Android Studio showing 725M max heap size

您可以通过修改memory-related settings中的the .vmoptions file来减少这种情况。例如,我将最大堆大小更改为512MB:

-Xmx512m

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

Gradle(最高1.5GB)

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

Windows 8.1 Task Manager showing "Java(TM Platform SE binary" using 1,460.5 MB of memory

您可以通过更改Gradle JVM选项来解决此问题。您可以通过编辑gradle.properties

按用户执行此操作
  1. 打开gradle.properties文件,如果它不存在则创建它:
    • Windows:%USERPROFILE%\.gradle\gradle.properties
    • Linux / Mac:~/.gradle/gradle.properties
  2. 更新org.gradle.jvmargs属性,必要时创建它。我设定了这个:

    org.gradle.jvmargs=-Xmx256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
  3. 我没有注意到我的小项目的构建性能有任何差异,最大堆大小设置为256MB(-Xmx256m)。

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

    仿真器

    关于模拟器占用大量内存,屏幕截图显示大约需要800MB。您可以选择分配给仿真器的RAM:

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

      Android Virtual Device RAM configuration

答案 2 :(得分:48)

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

  • 一次使用/打开单个项目
  • 每次在模拟器中运行应用程序后清理项目
  • 使用移动/外部设备代替模拟器
  • 使用一次后不要关闭模拟器,每次使用相同的模拟器运行应用程序
  • 使用文件>设置 - >禁用VCS插件并禁用以下内容:
    1.CVS整合
    2.Git Integration
    3.GitHub
    4.适用于Android Studio的Google云端工具
    5.转换整合

我也在使用安装了4 GB主内存的Android Studio,但遵循这些声明确实提升了我的Android Studio性能。

答案 3 :(得分:25)

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

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

  • 减少Android Studio可用的最大堆大小:将Android Studio的最大堆大小减少到512 MB。

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

  • 启用省电模式:启用省电模式会关闭许多内存和电池密集型后台操作,包括错误突出显示和动态检查,自动上传代码完成,以及自动增量后台编译。要打开省电模式,请单击文件>省电模式。

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

  • 在物理设备上进行调试:在模拟器上进行调试比在物理设备上调试使用更多内存,因此您可以通过在物理设备上进行调试来提高Android Studio的整体性能。 / p>

  • 仅包含必要的Google Play服务作为依赖项:在项目中包含Google Play服务作为依赖项会增加必要的内存量。仅包含必要的依赖项以提高内存使用和性能。有关详情,请参阅向项目添加Google Play服务。

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

  • 不启用并行编译:Android Studio可以并行编译独立模块,但如果您有低内存系统,则不应启用此功能。要检查此设置,请执行以下操作: 点击文件>设置(在Mac上,Android Studio>偏好设置)以打开“设置”对话框。在左窗格中,展开“构建”,“执行”,“部署”,然后单击“编译器”。确保未选中“并行编译独立模块”选项。如果进行了更改,请单击“应用”或“确定”以使更改生效。

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

    • 点击文件>设置(在Mac,Android Studio>偏好设置上)到 打开“设置”对话框。

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

    • 在全局Gradle设置下,选中离线工作复选框。

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

答案 4 :(得分:14)

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

作为替代方案,我可以通过将以下行添加到“gradle.properties”文件来显着减少gradle

org.gradle.jvmargs=-Xms512m -Xmx1024m

截至A.S. ver 1.3,该文件与“gradle.build”位于同一文件夹级别。

上述配置是512 meg的“内存堆栈”和1024 meg。的“内存堆”。

我在一个小项目上测试了这个,使用两个内存大小设置为256 meg的设置。它按预期限制了JVM大小。在我的所有测试中,我重新启动了A.S.强制JVM重启。

希望这可以使处理这个问题的其他人免于获得那些“让自己成为更好的计算机”的回复。 : - )

Dilber

答案 5 :(得分:2)

为了减少滞后,我建议采取以下步骤

我的电脑规格:2 gb ram,处理器:intel core2 duo

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

sudo service apache2 stop

sudo service mysql stop

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

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

答案 6 :(得分:2)

在低配置计算机上运行Android环境。

  1. 关闭浏览器中的uncessesory网页标签
  2. 对于防病毒用户,请排除自动生成的构建文件夹
  3. Android工作室 1.2 Gb默认堆可以减少到512 MB
  4.   

    帮助>编辑自定义VM选项

    studio.vmoptions
     -Xmx512m
    

    布局效果将加快

    1. 对于Gradle,Android工作室Mkae的核心组件之一肯定 就像现在 3.0beta 是最新的
    2. 以下提示可能会影响代码质量,因此请谨慎使用:

      1. Studio包含电源安全模式,开启后会关闭lint,代码补充等后台操作。

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

      3. 大多数人平均使用 Android模拟器 消耗2 GB RAM ,因此如果可能,请使用实际的Android设备,这样可以减少计算机上的资源负担。或者,您可以减少仿真器的RAM,它将自动减少计算机上的虚拟内存消耗。您可以在虚拟设备配置和高级设置中找到它。

      4. Gradle offline模式是带宽限制用户禁用下载构建依赖项的功能。它将减少后台操作,这将有助于提高Android studio的性能。

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

答案 7 :(得分:2)

我不知道这是否是解决方案,但是Invalidate Cache and Restart解决了我的问题。我目前正在使用 Android Studio 3.6

答案 8 :(得分:1)

我有Android Studio 2.1.1 Bro使用genymotion模拟器它更快如果使用Android Marshmallow。而我的Ram是4gb.And安装插件为Android Studio中的genymotion。你会看到好的结果,而不是浪费时间启动android emualtor它需要5分钟.genymotion 10至20秒的速度和更快,所以我建议你使用genymotion。

答案 9 :(得分:1)

我喜欢来自Google的 YouTube视频,其中有一些提示和技巧。该视频还包含建议更改的优缺点。

Improving Android Studio Performance on Memory-Constrained Machines

答案 10 :(得分:1)

您可以在 Android Studio 内部调整 IDE 和 Gradle 守护进程的堆大小。

阅读并按照设置屏幕中的说明进行操作:

Android Studio memory settings

答案 11 :(得分:0)

在系统上打开以下提及的路径,然后删除所有avd(虚拟设备:模拟器)

C:\ Users {Username} .android \ avd

注意:-仅从android studio中删除模拟器不会删除其AVD抓取的所有空格。因此,从给定路径上方删除所有avd,然后根据需要创建新的模拟器。

答案 12 :(得分:0)

尝试将JVM切换到eclipse openj9。它会使用更少的内存。我一直在交换它,并不断使用600Mb。