Android工作室需要太多内存

问题描述 投票:158回答:10

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

android performance android-studio jvm
10个回答
200
投票

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

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

  • CVS集成
  • Git集成
  • GitHub上
  • 谷歌云测试
  • Google Cloud Tools Core
  • 适用于Android Studio的Google Cloud Tools
  • hg4idea
  • 颠覆整合
  • Mercurial整合
  • TestNG的-J

0
投票

在您的系统上打开下面提到的路径并删除所有您的avd(虚拟设备:模拟器)

C:\用户{用户名} .android \ AVD

注意: - 仅从android studio删除模拟器不会删除其avd所占用的所有空间。因此,如果需要,从上面给定的路径中删除所有avd,然后创建新的模拟器。


0
投票

尝试将您的JVM切换到eclipse openj9。它将使用更少的内存。我换了它,它不断使用600Mb。


98
投票

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

Android Studio (up to 1.5GB)

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

Android Studio showing 725M max heap size

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

-Xmx512m

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

Gradle (up to 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

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

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

Emulator

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

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

Android Virtual Device RAM configuration


49
投票

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

  • 一次使用/打开单个项目
  • 每次在模拟器中运行应用程序后清理项目
  • 使用移动/外部设备而不是模拟器
  • 使用一次后不要关闭模拟器,每次使用相同的模拟器运行应用程序
  • 使用File-> Settings-> Plugins禁用VCS并禁用以下内容: 1.CVS集成 2.Git集成 3.GitHub 4.适用于Android Studio的Google Cloud Tools 5.转换整合

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


27
投票

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

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

  • 减少Android Studio可用的最大堆大小:将Android Studio的最大堆大小减小到512Mb。
  • 更新Gradle和Gradle的Android插件:更新到最新版本的Gradle和Gradle的Android插件,以确保您充分利用最新的性能改进。
  • 启用省电模式:启用省电模式会关闭许多内存和电池密集型后台操作,包括错误突出显示和动态检查,自动上传代码完成和自动增量后台编译。要打开“省电模式”,请单击“文件”>“省电模式”。
  • 禁用不必要的lint检查:要更改Android Studio在代码上运行的lint检查,请按照下列步骤操作:单击文件>设置(在Mac上,Android Studio>首选项)以打开“设置”对话框。在左窗格中,展开“编辑器”部分并单击“检查”。单击复选框以根据项目选择或取消选择lint检查。单击“应用”或“确定”以保存更改。
  • 在物理设备上进行调试:在模拟器上进行调试比在物理设备上调试使用更多内存,因此您可以通过在物理设备上进行调试来提高Android Studio的整体性能。
  • 仅包含必要的Google Play服务作为依赖项:在项目中包含Google Play服务作为依赖项会增加必要的内存量。仅包含必要的依赖项以提高内存使用和性能。有关详细信息,请参阅向项目添加Google Play服务。
  • 减少可用于DEX文件编译的最大堆大小:将DEX文件编译的javaMaxHeapSize设置为200m。有关更多信息,请参阅通过配置DEX资源来改进构建时间。
  • 不要启用并行编译:Android Studio可以并行编译独立模块,但如果您有低内存系统,则不应启用此功能。要检查此设置,请按照下列步骤操作:单击文件>设置(在Mac上,Android Studio>首选项)以打开“设置”对话框。在左窗格中,展开“构建”,“执行”,“部署”,然后单击“编译器”。确保未选中“并行编译独立模块”选项。如果已进行更改,请单击“应用”或“确定”以使更改生效。
  • 打开Gradle的离线模式:如果您的bandwitch有限,请打开离线模式以防止Gradle在您的构建过程中尝试下载缺少的依赖项。启用“脱机模式”时,如果缺少任何依赖项,Gradle将发出构建失败,而不是尝试下载它们。要打开离线模式,请执行以下操作: 单击文件>设置(在Mac上,Android Studio>首选项)以打开“设置”对话框。 在左窗格中,展开“构建”,“执行”,“部署”,然后单击“Gradle”。 在Global Gradle设置下,选中Offline work复选框。 单击“应用”或“确定”以使更改生效。

14
投票

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

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

org.gradle.jvmargs=-Xms512m -Xmx1024m

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

上述配置是512mcg的“存储器堆栈”和1024mcg的“存储器堆”。

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

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

Dilber


2
投票

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

我的电脑规格:2 GB RAM,处理器:intel core2 duo

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

sudo service apache2 stop

sudo服务mysql停止

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

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


2
投票

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

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

帮助>编辑自定义VM选项

studio.vmoptions
 -Xmx512m

布局性能将加快

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

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

  1. Studio打开电源安全模式,它将关闭lint,代码补充等后台操作。
  2. 您可以在需要时手动运行lint检查./gradlew lint
  3. 大多数人平均使用Android模拟器消耗2 GB RAM,因此如果可能的话使用实际的Android设备,这将减少您的计算机上的资源负担。或者,您可以减少仿真器的RAM,它将自动减少计算机上的虚拟内存消耗。您可以在虚拟设备配置和高级设置中找到它。
  4. Gradle offline模式是带宽受限用户禁用下载构建依赖项的功能。它将减少后台操作,这将有助于提高Android studio的性能。
  5. Android studio提供了并行编译多个模块的优化。在低RAM机器上,此功能可能会对性能产生负面影响。您可以在编译器设置对话框中将其禁用。

1
投票

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


1
投票

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

Improving Android Studio Performance on Memory-Constrained Machines

© www.soinside.com 2019 - 2024. All rights reserved.