加快android studio 编译速度(已更新至Android Studio 3.3.1)
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)的更多相关文章
- 加快android studio 编译速度
工程build一次太慢 经过各种搜索 整合以下 仅供参考 1.在下列目录中新建 gradle.properties 文件 /home//.gradle/ (Linux) /Users//.gradl ...
- Android Sutido 编译速度优化
虽然Android Studio 此时已经更新到了Android Studio 2.1版本,build 版本android-studio-bundle-143.2739321.但是在安装该版本都是根据 ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...
- 加快QT工程编译速度
转载:学海方舟 利用Qt Creator编译工程大家都觉得慢,特别是整个工程重新编译时,那问题来了怎么加快编译速度呢 ,其实方法很简单,利用我们的强大的多核CPU来实现多核编译: 在编译参数中加入“- ...
- 加速Android Studio编译速度
一.修改运行内存 进入项目,菜单栏-help-Edit Custom VM Option Paste_Image.png 添加或修改为: -Xms2048m -Xmx2048m -XX:MaxPe ...
- 加快QT工程编译速度(还可给Qt for Android设置)
一.多核编译 环境:win10, Qt 5.4.1,编译器mingw32 项目: Qt for Android Qt Creator 在编译android项目时不支持预编译,默认cpu单核编译,工程稍 ...
- Android Source 源码已下载但 Android Studio 找不到的解决办法
Android Studio 2.1 reporting in: solved the issue by resetting SDK. Preferences -> Appearance &am ...
- unbutu下wireshark编译安装(已更新)
今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...
- android sdk 编译--如何将源代码加入android.jar,以及make原理
首先是这个问题如何修改. 在/frameworks/base/Android.mk中,找到如下行:packages_to_document :=在该变量的赋值语句最后添加xxxxx (这里是你的包的名 ...
随机推荐
- python之函数用法setdefault()
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法setdefault() #D.get(k,d) #说明:k在D中,则返回 D[K], ...
- jQuery 绑定事件及移除绑定事件方法和元素事件列表
1.jQuery Event 事件: ready(fn); $(document).ready()注意在body中没有onload事件,否则该函数不能执行.在每个页面中可以有很多个函数被加载 ...
- SpringMVC 参数中接收数组、List写法
本文使用SpringMVC版本: org.springframework:spring-web:4.3.9.RELEASE 写法及说明(示例代码的类上的注解是@RestController,所以不需要 ...
- code vs 1013 求先序排列
2001年NOIP全国联赛普及组 题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Input De ...
- mysql之limit m,n
limit是mysql的语法 select * from table limit [m],n; 其中,m—— [m]为可选,如果填写表示skip步长,即跳过m条. n——显示条数.指从第m+1条记录开 ...
- HDUOJ-----A == B ?
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- MATLAB 的函数
[需要注意]MATLAB函数不能先定义后调用! 如下为先定义后调用,结果报错: 错误: 文件:justTest2.m 行:88 列:5脚本中的函数定义必须出现在文件的结尾.请将 "mymax ...
- 自动化部署必备技能—定制化RPM包[转载]
回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化 ...
- 关于Linux防火墙'iptables'的面试问答
1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的? 答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段 ...
- Yslow---一款很实用的web性能测试插件
YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修 ...