1.加快AS启动速度

“Help”-"Edit Custom Properties...",在文件中输入

# custom Android Studio properties
disable.android.first.run=true

PS:AS在第一次打开的时候会连网更新(翻樯),我们的目的就是把联网下载操作屏蔽掉,实测在AS 3.3.1中效果不明显。

2.增加运行环境内存

“Help”-"Edit Custom VM Options...",在文件中输入

# custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html
-Xms512m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m

PS:-Xms是AS初始分配的堆内存大小,-Xmx是AS最大分配的堆内存大小。AS运行越久,内存越不足的时候,就会频繁的触发GC,AS就自然会卡起来了,严重的直接黑屏,所以,我们把对应的所需内存都配置大一些。笔者使用的是8G内存,修改后效果还算明显。

3.取消一些联网操作或使用离线模式

打开“File-Settings-Appearance&Behavior-System Settings-Update”,取消选择“Automatically check updates for”和“Use secure connection”

打开“File-Settings-Build,Execution,Deployment-Gradle”,选择“Use local gradle distribution”,勾选“Offline work”

PS:有时候没有必要使gradle进行联网操作,勾选gradle会使得速度更快,但同时存在一个问题:如果项目中用到了一些其它的第三方库,会无法下载,所以可酌情使用。

4.优化编译方案(推荐)

新建“gradle.properties”文件。

/home/<username>/.gradle/ (Linux) 
/Users/<username>/.gradle/ (Mac) 
C:\User\<username>/.gradle/ (Windows)

打开 gradle.properties 文件,添加下列代码:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-
org.gradle.parallel=true
org.gradle.configureondemand=true

PS:上面的代码主要是给gradle单独开启了一个守护线程,并且指定使用并行编译。上面的配置是针对全局的,如果只想针对单个项目,可以只修改这个项目下的gradle.properties文件。另外,AS本身也提供了一些编译优化选项:

打开“File-Settings-Build,Execution,Deployment-Compiler”,勾选下列复选框

PS:勾选的第一项为并行设置,第二项为离线工作设置。第三项为开启自动编译,第四项为配置守护进程。

5.优化项目结构

尽量将第三方库的jar、aar文件导入自己的项目,或者将第三方库下载到本地,然后当做一个本地模块导入自己的项目,不要再使用gradle中的maven依赖了(使用offline模式就会报错)。

6.其它

有条件的话最好还是升级下硬件。上SSD,升级内存(最好在8G以上,我公司项目涵盖多个模块,平时开个AS,项目文档,再打开个虚拟机,浏览器,过一会内存就吃紧,不得不关闭一些暂时不用的窗口,很浪费时间)。

加快android studio 编译速度(已更新至Android Studio 3.3.1)的更多相关文章

  1. 加快android studio 编译速度

    工程build一次太慢  经过各种搜索 整合以下 仅供参考 1.在下列目录中新建 gradle.properties 文件 /home//.gradle/ (Linux) /Users//.gradl ...

  2. Android Sutido 编译速度优化

    虽然Android Studio 此时已经更新到了Android Studio 2.1版本,build 版本android-studio-bundle-143.2739321.但是在安装该版本都是根据 ...

  3. 使用ant优化android项目编译速度,提高工作效率

    1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...

  4. 加快QT工程编译速度

    转载:学海方舟 利用Qt Creator编译工程大家都觉得慢,特别是整个工程重新编译时,那问题来了怎么加快编译速度呢 ,其实方法很简单,利用我们的强大的多核CPU来实现多核编译: 在编译参数中加入“- ...

  5. 加速Android Studio编译速度

    一.修改运行内存 进入项目,菜单栏-help-Edit Custom VM Option   Paste_Image.png 添加或修改为: -Xms2048m -Xmx2048m -XX:MaxPe ...

  6. 加快QT工程编译速度(还可给Qt for Android设置)

    一.多核编译 环境:win10, Qt 5.4.1,编译器mingw32 项目: Qt for Android Qt Creator 在编译android项目时不支持预编译,默认cpu单核编译,工程稍 ...

  7. Android Source 源码已下载但 Android Studio 找不到的解决办法

    Android Studio 2.1 reporting in: solved the issue by resetting SDK. Preferences -> Appearance &am ...

  8. unbutu下wireshark编译安装(已更新)

    今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...

  9. android sdk 编译--如何将源代码加入android.jar,以及make原理

    首先是这个问题如何修改. 在/frameworks/base/Android.mk中,找到如下行:packages_to_document :=在该变量的赋值语句最后添加xxxxx (这里是你的包的名 ...

随机推荐

  1. python之函数用法setdefault()

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法setdefault() #D.get(k,d) #说明:k在D中,则返回 D[K], ...

  2. jQuery 绑定事件及移除绑定事件方法和元素事件列表

    1.jQuery Event 事件:      ready(fn); $(document).ready()注意在body中没有onload事件,否则该函数不能执行.在每个页面中可以有很多个函数被加载 ...

  3. SpringMVC 参数中接收数组、List写法

    本文使用SpringMVC版本: org.springframework:spring-web:4.3.9.RELEASE 写法及说明(示例代码的类上的注解是@RestController,所以不需要 ...

  4. code vs 1013 求先序排列

    2001年NOIP全国联赛普及组 题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input De ...

  5. mysql之limit m,n

    limit是mysql的语法 select * from table limit [m],n; 其中,m—— [m]为可选,如果填写表示skip步长,即跳过m条. n——显示条数.指从第m+1条记录开 ...

  6. HDUOJ-----A == B ?

    A == B ? Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  7. MATLAB 的函数

    [需要注意]MATLAB函数不能先定义后调用! 如下为先定义后调用,结果报错: 错误: 文件:justTest2.m 行:88 列:5脚本中的函数定义必须出现在文件的结尾.请将 "mymax ...

  8. 自动化部署必备技能—定制化RPM包[转载]

    回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...

  9. 关于Linux防火墙'iptables'的面试问答

    1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的? 答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段 ...

  10. Yslow---一款很实用的web性能测试插件

    YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修 ...