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看到这个:
您可以通过编辑.vmoptions
文件中 与内存相关的设置来减less这种情况。 例如,我将我的最大堆大小更改为512MB:
-Xmx512m
不幸的是,我发现降低这个值会增加Android Studio暂时冻结的频率,也许会做垃圾回收。
Gradle(高达1.5GB)
开发一段时间后,Gradle也可以使用大量的RAM。 Windows只是将其显示为Java(TM) Platform SE Binary
:
您可以通过更改Gradle JVM选项来解决这个问题。 您可以通过编辑gradle.properties
来以每个用户的身份执行此gradle.properties
:
- 打开
gradle.properties
文件,创build它,如果它不存在:- Windows:
%USERPROFILE%\.gradle\gradle.properties
- Linux / Mac:
~/.gradle/gradle.properties
- Windows:
-
更新
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数量:
- 编辑AVD
- 按显示高级设置
- 降低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环境。
- closures浏览器中的常规web标签
- 对于防病毒用户,排除自动生成的生成文件夹
- Android Studio有1.2 Gb的默认堆可以减less到512 MB
帮助>编辑自定义VM选项
studio.vmoptions -Xmx512m
布局的performance会加快
- 对于Gradle Android工作室Mkae的核心组件之一肯定就像现在3.0beta是最新的一个
以下提示会影响代码质量,请谨慎使用:
-
Studio 开机时包含电源安全模式 ,closures后台操作,编码补码等。
-
您可以在需要时手动运行lint检查
./gradlew lint
-
大多数平均使用Android模拟器 ,它消耗2 GB的RAM,所以如果可能的话使用实际的Android设备,这将减less您的计算机上的资源负载。 或者,您可以减less模拟器的RAM,它会自动减less计算机上的虚拟内存消耗。 你可以在虚拟设备configuration和高级设置中find它。
-
Gradle脱机模式是带宽受限用户禁用构build依赖项下载的function。 这将减less后台操作,这将有助于提高Android工作室的性能。
-
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的性能