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
移动到Messages
到Version 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的设置,在编译下勾选checkbox
Compile independent modules in parallel
。
在Vmoptions我有
-Xmx2048m -XX:MaxPermSize=1024
我有一个旧的双核4GB内存,运行Ubuntu的。 Qs的命令行选项我只有--offline
,它指定的构build应该在没有访问networking资源的情况下运行。 我还启用了其余的checkbox:
- 自动进行项目
- 使用进程内的build筑物
-
按需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工作室快速的技巧:
启用离线工作:
- 点击文件 – >设置。 search“gradle”并点击
Offline work
框。 - 转到编译器(在
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像魅力一样运行。
增加更多的记忆帮助了我:
- 点击“帮助”
- 编辑自定义VM选项
Android Studio 2.1.2编辑自定义VM选项:
- 更改值
如下所示:
-Xms512m -Xmx2560m -XX:MaxPermSize=700m -XX:ReservedCodeCacheSize=480m -XX:+UseCompressedOops
- 重新启动Android Studio
在设置-Xmx4096m -XX:MaxHeapSize=256m
情况下(和上面的答案中提到的)做的工作,然后手动做到这一点:
第1步:启动Android Studio并closures任何打开的项目( 文件>closures项目 )。
步骤2:在欢迎窗口中,转到configuration>设置 。
第3步:转到构build,执行,部署>编译器
步骤4:将生成进程堆大小(MB)更改为1024 , 将VM选项的其他 生成进程更改 为-Xmx512m 。
第5步:closures或重新启动Android Studio 。
- 我不能不说:如果有机会,花更多的钱去购买更好的零件/个人电脑,这会有很大的帮助。
- 有人说,操作系统导致很慢。 例如,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内容(非典型缩进,长行,整体大小,特殊字符等);
- 尝试从另一个项目(文件 – >导出设置)导出设置,并将其导入到问题项目(文件 – >导入设置);
- 如果是的话 :
- 如果线程被转储,请参阅这些文件和
idea.log
,以及转储通知的详细信息。 - 有关内存消耗的消息,请参阅
idea.log
,查看此问题的其他答案,例如https://stackoverflow.com/a/30818099/5025060关于内存和其他可调参数的build议。;
- 如果线程被转储,请参阅这些文件和
顺便说一句,目前我已经解决了我上面描述的问题,通过将我的长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,因此启动速度非常慢。
这个问题非常容易检查:
- 当您遇到Android Studio较慢的症状时,请按Ctrl – Alt – Delete并打开Windows任务pipe理器。
- 点击
Processes
选项卡查看活动进程并按CPUsorting。 如果在Android Studio似乎正在加载的情况下,您看到反间谍软件会间歇性地占用大量的CPU百分比,则很可能是同样的问题。 - 您可以通过查看反病毒的扫描日志来进一步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
我只想分享我的情况:
- 如果你需要玩商店的图书馆,不要编译它,只需编译你需要的库。 例如:如果你只需要地图库而不是
compile 'com.google.android.gms:play-services:9.0.2'
这个compile 'com.google.android.gms:play-services-maps:9.0.2'
在你的gradle上 - 不要使用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中更新path
: File > 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不需要每次都通过互联网检查更新的文件。
我注意到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设时。
以下是我所做的:
- 卸载Android Studio(不要删除,卸载并检查删除SDK )。 然后删除位于C:\ Users \\文件夹中的Android文件夹,即:
.android
,AndroidStudioX.X
- 通过SDKpipe理器卸载SDK,删除所有东西(如果有lef SDK文件夹,删除它们)
- 下载并重新安装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