Android Studio速度慢(如何加速)?

Stella981
• 阅读 1566

我最近从Eclipse升级到Android Studio,但我并不喜欢这种体验。 我将它们与具有16GB内存的Windows 7 64位旗舰版和运行NVidia Geforce 780的Intel i7 4770以及最新的NVidia驱动程序进行比较,如果有关系,我将运行最新的JDK和最新的Android Studio。

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

每当我在AS中构建或运行任何软件时,我的PC似乎都变得非常缓慢。 如果我单击“ Gradle build running”微调器,这也会导致屏幕闪烁,并偶尔使第二台显示器变黑,我觉得这很奇怪。 RAM的使用量也高达约3GB,我发现它什么也不做(这是在经过几次构建后处于空闲状态)的多余资源。

此外,AS底部的面板一直在跳来跳去,这是一种可怕的用户体验(根据发生的事情从AndroidMessagesVersion Control或临时更改其他内容,这非常令人讨厌)。

我想知道的基本上是:

1)如何使Android Studio更好地运行? 我可能做错了什么,或者缺少了一些我不知道的更新,并且我确定其他人也注意到了这些行为并找到了解决方案。

2)如何“固定”底部面板,以免它们跳来跳去,而是让我(用户)在需要时导航至它们,而不是自动切换它们?

如果不是这些问题的正确答案,我再次表示感谢和歉意。

编辑1一些其他评论:

  • 我正在使用截至今天的最新stable版本。 内部版本为Android Studio 1.2.2 Build # AI-141.1980579, Build on June 3, 2015
  • 使用Java 7或8时,会发生此行为。它似乎与Java版本无关。
  • 我没有使用演示模式。 只是香草的景色。
  • 进行构建配置更改(由于@Blackbelt和他的回答)似乎对构建有所帮助,但是仍然存在缓慢和一般用户体验的其他问题。

#1楼

把它们加起来

1)在AndroidStudio的“ settings > compile启用”复选框中,名为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 ram的旧双核,正在运行ubuntu。 Qs命令行选项我只有--offline (指定构建应该在不访问网络资源的情况下运行)。 我还启用了其余复选框,现在可以正常运行:

  • 自动制作项目

  • 使用过程中构建按需配置

  • Compile independent modules in parallel已启用Compile independent modules in parallel复选框的情况下,检查AndroidStudio的设置。

在Vmoptions下

-Xmx2048m -XX:MaxPermSize=1024

我有一个带有4GB ram的旧双核,正在运行ubuntu。 Qs命令行选项我只有--offline ,它指定构建应该在不访问网络资源的情况下运行。 我还启用了其余复选框:

  1. 自动制作项目

  2. 使用过程中的构建

  3. 按需配置

    而且运行正常

编辑

可以通过位于以下位置的studio.vmoptions提供其他选项(只需用版本替换XX):

  • 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的值应该会-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指出)。

编辑2

Android Studio 3.5使更改这些值变得更加容易。 只需转到:

Preferences > Appearance & Behavior > System Settings > Memory Settings

#2楼

使Android Studio快速运行的提示:

启用离线工作:

  1. 单击文件->设置。 搜索“ gradle”,然后在“ Offline work框中单击。
  2. 转到编译器(在Gradle下方的同一设置对话框中),然后在Command-line Options文本框中添加--offline

提高Gradle性能

gradle也可以优化。 最简单的方法就是修改全局设置gradle.properties (如果在下列文件夹不存在,创建它:窗口- C:\\users\\your_name\\.gradle\\ ; Linux的/home/<username>/.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


#3楼

不是在编译,这是在伤害我,这是打字。 我可以禁用所有智能功能,然后返回记事本++,例如在评论中建议的TomTsagk 。 今天,我需要更多的内核和RAM。

扮演恶魔的拥护者,我认为打字不应该需要16Gb PC八核PC。 喜欢Sajan Rana的建议,但这里的情况实在太慢,以至于大多数人认为是安慰剂。

公平地说,我使用的是1.4RC1,它刚好处于稳定分支中。 关闭互联网有所帮助。 同时使用XML布局的“设计”(预览)和“文本”视图的新功能非常有用。

不,这很荒谬。 切勿离开稳定的通道。


#4楼

对于所有看过的人,升级到El Capitan后,我注意到IDE的巨大滞后。 在增加大量内存并使用上述建议后,事实证明,我需要更新旧版Java,并通过以下方式重新安装: https : //support.apple.com/kb/DL1572?locale=zh_CN

安装此程序后,所有的滞后都消失了。


#5楼

即使我确实拥有核心i5机器和4GB RAM,我也确实面临相同的问题。 在清理并重建项目gradle构建系统后,系统会从Internet下载jar / lib文件。 您需要禁用Android Studio设置中可用的此选项。 这将重新使用缓存的lib / jar文件。 Android Studio的速度也取决于硬盘的速度。 这是有关如何改善速度太慢的Android Studio的详细博客文章

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
35岁是技术人的天花板吗?
35岁是技术人的天花板吗?我非常不认同“35岁现象”,人类没有那么脆弱,人类的智力不会说是35岁之后就停止发展,更不是说35岁之后就没有机会了。马云35岁还在教书,任正非35岁还在工厂上班。为什么技术人员到35岁就应该退役了呢?所以35岁根本就不是一个问题,我今年已经37岁了,我发现我才刚刚找到自己的节奏,刚刚上路。