Android Studio很慢(如何加速)?

我最近从Eclipse升级到Android Studio,我并不喜欢这种体验。 我比较他们都在一个Windows 7 64位最终16GB内存和英特尔i7 4770运行NVidia Geforce 780与最新的NVidia驱动程序,如果它很重要,我运行最新的JDK和最新的Android Studio。

Android Studio在构build我可以使用的项目方面速度非常慢,但是它也非常耗费资源,有时会使PC变慢。

每当我在AS中build立或运行任何东西时,我的PC似乎变得非常缓慢。 这也会导致屏幕闪烁,偶尔会消隐我的第二台显示器,如果我点击“Gradle build running”微调,我觉得很奇怪。 内存的使用量也达到了〜3GB,我觉得这样做无能为力(这是在几个版本之后闲置的时候)。

另外,AS底部的面板不断跳来跳去,这是一种可怕的用户体验(根据发生的事情,非常非常恼人的是,从Android移动到MessagesVersion Control或其他任何东西)。

我想知道的基本上是:

1)如何让Android Studio运行得更好? 我可能做了一些错误的事情,或者错过了一些我不知道的更新,我相信其他人也会注意到这些行为,并find了一些解决scheme。

2)我怎样“钉住”底部面板,以便它们不会跳跃,而是让我,用户,当我希望,而不是自动切换他们导航到他们?

非常感谢,再次道歉,如果这不是这些问题的正确的地方。

编辑1更多评论:

  • 我正在使用最新的stable版本。 构build是Android Studio 1.2.2 Build # AI-141.1980579, Build on June 3, 2015
  • 在使用Java 7或8时会发生这种情况。它似乎与Java的版本没有关系。
  • 我没有使用演示模式。 只是香草的意见。
  • 对构buildconfiguration进行更改(感谢@Blackbelt及其答案)似乎有助于构build,但仍然存在缓慢和一般用户体验的其他问题。

把它们加起来

1)在AndroidStudio的settings > compile启用checkbox命名Compile independent modules in parallel

2)在Help> Edit Custom VM Options我有:

 -Xms1024m -Xmx4096m # <------ increase this to most of your RAM -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=440m -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

ps有人说注意,而不是VM选项,最好结合可以通过将这些行结合成gradle.properties中的一行单一命令来进行重写,如下所示:

org.gradle.jvmargs = -Xms1024m -Xmx4096m ……

3)我有一个旧的双核4GB内存,运行Ubuntu的。 Qs命令行选项我只有--offline (它指定构build应该在不访问networking资源的情况下运行)。 我也启用了其余的checkbox,现在它运行正常:

  • 自动进行项目

  • 使用进程内的构build按需configuration

  • 检查AndroidStudio的设置,在编译下勾选checkboxCompile independent modules in parallel

在Vmoptions我有

 -Xmx2048m -XX:MaxPermSize=1024 

我有一个旧的双核4GB内存,运行Ubuntu的。 Qs的命令行选项我只有--offline ,它指定的构build应该在没有访问networking资源的情况下运行。 我还启用了其余的checkbox:

  1. 自动进行项目
  2. 使用进程内的build筑物
  3. 按需configuration

    它运行正常

编辑

可以通过位于(只是用版本replaceXX) studio.vmoptions提供额外的选项:

  • Windows :转到%USERPROFILE%\.AndroidStudioX.X\studio.exe.vmoptions (或studio64.exe.vmoptions

  • Mac~/Library/Preferences/.AndroidStudioX.X/studio.vmoptions

  • Linux~/.AndroidStudioX.X/studio.vmoptions (和/或studio64.vmoptions

增加-Xmx的价值应该会有很大帮助。 例如

 -Xms1024m -Xmx4096m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=256m -XX:+UseCompressedOops 

将4G分配为最大堆,初始值为1G

编辑:

在Windows上,默认值存储在C:\Program Files\Android\Android Studio\bin\*.vmoptions 。 IDE允许您通过Help->Edit Custom VM options来调整这些值(感谢@Code-Read指出)。

使android工作室快速的技巧:

启用离线工作:

  1. 点击文件 – >设置。 search“gradle”并点击Offline work框。
  2. 转到编译器(在Gradle相同设置对话框中),并将--offline添加到Command-line Options文本框中。

提高Gradle性能

gradle也可以优化。 简单的方法是修改全局gradle.properties的设置(如果它不存在于以下文件夹中,则创build该设置:Windows – C:\users\your_name\.gradle\ ; Linux- C:\users\your_name\.gradle\ ; Mac- /Users/<username>/.gradle/ ;)并在该文件中,添加这两行:

 org.gradle.daemon=true org.gradle.parallel=true 

更多: http : //www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html

我发现另一个原因 – Thumbs.db ,严重影响了性能。

转到File > Settings > Editor > File Types并在字段忽略文件和文件夹添加此: Thumbs.db;

现在,Android Studio像魅力一样运行。

增加更多的记忆帮助了我:

  1. 点击“帮助”
  2. 编辑自定义VM选项

Android Studio 2.1.2编辑自定义VM选项:

  1. 更改值

如下所示:

 -Xms512m -Xmx2560m -XX:MaxPermSize=700m -XX:ReservedCodeCacheSize=480m -XX:+UseCompressedOops 
  1. 重新启动Android Studio

在设置-Xmx4096m -XX:MaxHeapSize=256m情况下(和上面的答案中提到的)做的工作,然后手动做到这一点:

第1步:启动Android Studio并closures任何打开的项目( 文件>closures项目 )。

步骤2:在欢迎窗口中,转到configuration>设置

第3步:转到构build,执行,部署>编译器

步骤4:将生成进程堆大小(MB)更改为1024将VM选项的其他 生成进程更改 为-Xmx512m

第5步:closures或重新启动Android Studio

已解决 -  Andriod Studio 1.3 Gradle无法为对象堆问题预留足够的空间

  • 我不能不说:如果有机会,花更多的钱去购买更好的零件/个人电脑,这会有很大的帮助。
  • 有人说,操作系统导致很慢。 例如,XP或LINUX(或其他)据说执行速度提高了70%(不知道为什么)。
  • 通过File > Settings > Plugins禁用VCS,并禁用以下内容: CVS Integration ; Git Integration ; GitHub ; Google Cloud ...事物; Subversion Integration ; hg4idea ;

  • 编辑器也是一种资源(特别是在大型监视器上),速度也很慢。 使其更快:单击Help > Edit custom VM options并添加以下行:

    -Dsun.java2d.d3d=false
    -Dsun.java2d.opengl=true

    保存并重新启动Android Studio。

  • 如果Android Studio具有代理服务器设置并且无法访问服务器,则需要花费很长时间来构build和等待超时。 删除它帮助很大。 File > Settings > Appearance & Behavior > System settings > HTTP Proxy
  • (从这个链接引用):

模块是昂贵的…在我目前的项目,我不得不从零开始build立一些库,必须叉一些几乎符合我的需求,但不是很完美! 如果这些模块没有经常修改,那么考虑到这一点很重要:从零开始编译它们,甚至检查以前的单个模块构build是否是最新的时间,可能会高出将近4倍简单地加载该依赖关系作为二进制.jar/.aar

提示:为HTML报告运行gradle build -profile ,以显示构build过程的时间。

注意:在你的版本控制系统中保留这个“不必要的”模块,以便在该依赖关系中进行quickfix /改进。

  • 在您的Gradle构build脚本中,仅使用
    具体的Google服务,如: compile 'com.google.android.gms:play-services-maps:...'
    而不是完整的Google库: compile 'com.google.android.gms:play-services:...'
    (编译时间从2分钟到25秒左右)。

  • Gradle在执行任务之前configuration每个项目,而不pipe该项目是否实际上是特定构build所需的。 在全局的gradle.properties添加这个会有很大帮助: org.gradle.configureondemand=true

  • 令人惊讶的是, 有人说,他们通过减less :1)heapsizes到-Xmx256m (而不是更高的值); 2)仿真器Ram尺寸(从Edit AVD > Advanced Settings );

每日推荐:

  • 不要同时运行多个项目。
  • 使用一次后不要closures仿真器(每次使用相同的仿真器运行应用程序)。 如果您testing大型应用程序,最好使用一个真正的移动(而不是仿真器)
  • 每次在模拟器中运行应用程序后Build > Clean Project – 单击Build > Clean Project (或Rebuild

这不是编译,这是在这里伤害我,这是打字。 我可以禁用所有的智能function,并回到记事本++,如评论中build议的TomTsagk 。 今天我需要更多的内核和内存。

扮演恶魔的倡导者,我认为打字不应该需要一台16Gb PC八核PC。 喜欢Sajan Rana的build议,但事情是如此缓慢,这主要是安慰剂。

为了公平起见,我正在使用1.4RC1,这只是在稳定的分支。 把互联网关掉有一点帮助。 同时使用XML布局的devise(预览)和文本视图的新function非常有用。

不,这是可笑的。 切勿离开稳定通道。

对于任何人来说,在升级到El Capitan之后,我注意到IDE的巨大滞后。 增加了大量内存并使用上述build议后,事实certificate,我需要更新旧版Java,并通过以下url重新安装: https : //support.apple.com/kb/DL1572?locale = en_US

安装完毕后,所有的滞后都没有了。

正如你所了解的, AS的性能问题不是微不足道的诊断! 在我的情况下,一个长度为9215个字符的string数组(见下文)导致AS每次input几个字符时都抛出线程。 线程转储又导致AS一次冻结数秒。 此错误出现在AS 2.2的Windows 64位版本中,仍然出现在2.2.1中,但不在2.1中。

发现长长的string导致我的locking涉及大量的试验和错误。 但是,我在这个过程中学到了很多东西,

  • idea.log包含出色的诊断(帮助 – >显示login资源pipe理器);
  • 如果您看到极端,但间歇性减速,怀疑AS倾销线程。 这将在idea.log报告。 如果正在转储线程,转储将会告诉问题发生时AS正在执行什么代码;
  • 找出问题是否出现在其他项目中。 如果不是
    • 在正在编辑的项目文件中查找exception内容(非典型缩进,长行,整体大小,特殊字符等);
    • 尝试从另一个项目(文件 – >导出设置)导出设置,并将其导入到问题项目(文件 – >导入设置);
  • 如果是的话

顺便说一句,目前我已经解决了我上面描述的问题,通过将我的长string移动到一个单独的文件(一个只包含数组本身的新类)。 我尽量不要用AS编辑这个文件:

 package com.code_read.numerous; // Stored in this separate file as workaround for but in Android Studio 2.2 and 2.2.1: public class numstrings { // Array of long random numbers, pregenerated to save CPU: public static String[] numStrings = { "", "", ... (13 lines total) ... } 

防病毒正在导致速度放慢

在我看的一个特定的系统中,这个问题是由于过度热忱的反病毒造成的,它干扰了Android Studio的构buildpipe理器Gradle。 似乎每次Gradle“接触”一个.jar文件,病毒检查工具都会解压缩.jar文件,并首先扫描病毒。 Gradle构build只有在解压缩和扫描完成后才能继续,因此导致构build时间非常长(5分钟以上)。 由于默认情况下,Android Studio在启动时运行Gradle构build,因此启动速度非常慢。

这个问题非常容易检查:

  1. 当您遇到Android Studio较慢的症状时,请按CtrlAltDelete并打开Windows任务pipe理器。
  2. 点击Processes选项卡查看活动进程并按CPUsorting。 如果在Android Studio似乎正在加载的情况下,您看到反间谍软件会间歇性地占用大量的CPU百分比,则很可能是同样的问题。
  3. 您可以通过查看反病毒的扫描日志来进一步validation,看是否确实检查.jar文件。

为了解决这个问题,你必须将正确的目录添加到防毒软件的“排除文件夹”中。 假设您的Windows用户名是“用户名”,并且您已经在C:驱动器上安装了Android Studio。 然后您会请求从病毒检查中排除以下目录:

 C:\Users\Username\.android C:\Users\Username\.AndroidStudio2.2 C:\Users\Username\.gradle C:\Users\Username\.m2 C:\Users\Username\AppData\Local\Android\Sdk 

请注意,如果排除这些目录,则可能需要采取额外的安全防范措施,并且应该与工作场所的安全部门合作。 这可能涉及到在必要时build立自己的Maven仓库。

(我知道这是一个迟到的答案,但以前的答案都没有解决这个潜在的问题)

不要编辑studio.vmoptions ,它可能无法正常工作。

gradle.properties文件(在app目录中)添加这个:

 org.gradle.parallel=true org.gradle.jvmargs=-Xmx7g -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

我只想分享我的情况:

  1. 如果你需要玩商店的图书馆,不要编译它,只需编译你需要的库。 例如:如果你只需要地图库而不是compile 'com.google.android.gms:play-services:9.0.2'这个compile 'com.google.android.gms:play-services-maps:9.0.2'在你的gradle上
  2. 不要使用Java的OpenJDK,我使用Java 7的Oracle,它运作良好。 如果你不需要更改默认的Java在Linuxterminal上做这个sudo update-alternatives --config java并select编号

我正在使用Ubuntu的32位4GB内存。 这就是我遇到的所有问题。

我已经通过升级gradle(Android Studio似乎使用旧版本)很快解决了这个问题。

1)下载最新版本( https://gradle.org/gradle-download/ )并在某处解压。
2)在Android Studio中更新pathFile > Settings > Build, Ex../Gradle

这对我有用!
打开build.gradle (它在你的项目中),并将这两个jcenter更改为mavenCentral

(你也可以在全局文件中执行: C:\Program Files\AndroidStudio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root\build.gradle.ftl然而,你需要在修改AndroidStudio升级)

有很多方法来加速Android Studio。

  • 加快gradle构build时间。

    1.转到Project gradle.properties文件并从两行删除注释。

    2.将gradle.properties文件复制到.gradle文件夹中,这样就不需要为每个项目进行设置。

  • 启用脱机工作,使Android工作室/ Gradle不需要每次都通过互联网检查更新的文件。

转到Project gradle.properties文件并从两行中删除注释

我注意到AS从HDD传输太多的数据。 这是非常烦人的,尤其是当开始写一个新的代码行。 所以,我认为,最好是用SSD重新安装硬盘。 我有6 GB内存的i5,即使在构build时CPU也很less加载超过50%。 所以,最弱的地方就是硬盘。

单击Help > Edit Custom properties并添加以下行:

 sun.java2d.noddraw=false 

…成功地为我解决了速度问题(Windows 10 64位)。 就我而言,这是绝对的巫术(我还没有研究过为什么应该起作用),并且在这个属性上面有一个警告,它会导致闪烁,并且无法在某些graphics卡上重新绘制,但是在那里走。 (受LairdPleng评论的启发,更多信息)

请添加setting.gradle (根文件夹)

 startParameter.offline=true 

build议使用SSD。 检查项目和存储库caching( ~/.gradle/~/.m2/repository如果你使用maven仓库)也放在SSD上。 是的,它减less了一些固态硬盘资源,但是加速了火箭的发展('SSD for you',而不是'SSD for')。

更多关于改进的细节阅读这篇文章。

  • 我应该提到,如果您使用Mac ,从App Store下载并运行一个应用程序(如“iBoostUp”等)将清除未使用的系统文件,这可以大大加快您的计算机,包括AS。

  • 我还发现增加更多内存给我的Mac也加速了AS。

好的。 我会同意上面写的每一个答案都会以某种方式帮助这个事业。 我是同一条船上的人之一。 由于没有任何工作方式,Android Studio由于相关的依赖性而拒绝在离线模式下构build,所以我在几分钟内做了一些缓解了我的问题。

每次我build立gradle,我closures我的互联网。 (请注意,离线模式未被选中)。 我不知道如何和为什么,但这个工程。

那么,有一件事对我来说是使用物理的Android设备,而不是模拟器。 和我的电脑(i5和4GB RAM)一样,android studio需要大约700MB的内存,仿真器需要700个。因此,电脑的整体性能下降了。 使用物理设备可以节省模拟器的压力。

即使我有核心i5机器和4GB内存,我也面临同样的问题。 在清理和重build项目gradle构build系统从互联网上下载文件jar / lib的新鲜文件。 您需要在Android工作室的设置中禁用此选项。 这将重新使用caching的lib / jar文件。 另外Android studio的速度也取决于你硬盘的速度。 下面详细介绍如何改进Android工作室过慢的问题。

我的Android Studio不仅在一般使用速度缓慢,而且在build设时。

以下是我所做的:

  1. 卸载Android Studio(不要删除,卸载并检查删除SDK )。 然后删除位于C:\ Users \\文件夹中的Android文件夹,即: .androidAndroidStudioX.X
  2. 通过SDKpipe理器卸载SDK,删除所有东西(如果有lef SDK文件夹,删除它们)
  3. 下载并重新安装Android Studio的最新版本(截至撰写本文时为v2.1.2); 只安装你需要的SDK /仿真器;

现在速度很快


我之前的故事:

我的笔记本电脑采用英特尔酷睿i7-3612QM和8G的RAM。 当我build立时,所有4个核心/ 8个线程的使用率都达到100%。 我的整个系统都冻结了,直到10分钟完成。 Gradle把我当作10分钟慢下来的非生产性的分钟。 这非常烦人。 我从1.4开始使用Android Studio。 当我复制粘贴代码,select菜单,右键单击上下文菜单,编辑清单,编辑gradle文件,打开布局文件,在UI编辑器中渲染等等时,也有巨大的减速。这是非常不可用的时间。

由于沮丧,我做了上述步骤。 现在快了。 非常可用,就像以前一样。 我build立了只有~20秒,比之前的10分钟。 此外,Android Studio使用模拟器和浏览器打开大量的标签,大约6gig,不像之前hover在98%的RAM使用率。 不仅如此,无论出于何种原因我甚至节省了45场演出。 当我检查Android SDK文件夹时,我只使用了几个SDK和模拟器,占用了45G的空间! 我认为IDE很难在我的SDK文件夹上访问/ IO。

如果您已经尝试过其他的解决scheme,但仍然遇到同样的问题,可能是时候彻底删除Android IDE / SDK,重新开始(可能需要一些时间来设置新的,但它的价值。经历了几个月的低迷,我花费了我的生产力)。

我真的猜测这可能是由于从那时起累积的补丁造成的。 或者我糟糕的碎片整理驱动器上的45 gig SDK文件夹。 我不知道,我可能是错的。

谢谢! HTH

Google开发的Android Developers频道,刚刚上传了一个优化IDE的video,这里是链接

绝对最可靠的参考是android开发人员网站。 通过做谷歌说,优化您的生成速度。 这是链接: https : //developer.android.com/studio/build/optimize-your-build.html