Android Sutido 编译速度优化
虽然Android Studio 此时已经更新到了Android Studio 2.1版本,build 版本android-studio-bundle-143.2739321。但是在安装该版本都是根据自己的标准进行安装,所以需要在安装之后进行一系列的调整。下面文章根据3个方面进行讲解。分别为Android Studio本身、Gradle、不调整出现的编译上的问题。
Android Studio优化
编译优化需要有两个步骤,以下一一介绍。
步骤一:Gradle编译优化
在项目的根目录中进行修改。修改gradle.properties,
gradle.properties 该文件的位置(H/gradle.properties)
Project-wide Gradle settings.
IDE (e.g. Android Studio) users:
Gradle settings configured through the IDE will override
any settings specified in this file.For more details on how to configure your build environment visit
http://www.gradle.org/docs/current/userguide/build_environment.htmlSpecifies the JVM arguments used for the daemon process.
The setting is particularly useful for tweaking memory settings.
Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8When configured, Gradle will run in incubating parallel mode.
This option should only be used with decoupled projects. More details, visit
http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
根据该文件的描述,我的设置为:
org.gradle.jvmargs=-Xmx3062m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.daemon=true
名词解释
这里可以参考:
http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html
- org.gradle.jvmargs :JVM 内存管理,存在于堆上。在这里可以理解为Gradle的内存管理
- -Xms : 初始分配的内存由-Xms指定,堆内存。
- -Xmx : 最大分配的内存由-Xmx指定,堆内存。
- -XX:PermSiz:JVM使用-XX:PermSize设置非堆内存初始值
- -XX:MaxPermSize设置最大非堆内存的大小
- org.gradle.daemon=true
- org.gradle.parallel=true
步骤二:Android Studio 优化
找到Android Studio安装目录。
我的安装目录在F:\Android\AndroidStudio\Soft\bin
在这个文件 gradle.properties
-server
-Xms512m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-da
-Djna.nosys=true
-Djna.boot.library.path=
-Djna.debug_load=true
-Djna.debug_load.jna=true
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-Didea.paths.selector=AndroidStudio2.1
-Didea.platform.prefix=AndroidStudio
从这个文件中,可以根据上面上面的名词解释中进行理解性修改。上面是我自己的设置。
优化前 - 存在的问题
transformClassesWithDexForDebug
- Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files\Java\jdk1.8.0_77\bin\java.exe” finished with non-zero exit value 3 - Error:UNEXPECTED TOP-LEVEL ERROR:
- Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
- For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB.
To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties.
For more information see https://docs.gradle.org/current/userguide/build_environment.html
原因
在使用Gradle编译的时候,编译内存不足导致。
解决方法
在项目的根目录中进行修改。修改gradle.properties,
set org.gradle.jvmargs=-Xmx2048M。
修改后该问题得已解决。
Android Sutido 编译速度优化的更多相关文章
- dWebpack编译速度优化实战
当你的应用的规模还很小时,你可能不会在乎Webpack的编译速度,无论使用3.X还是4.X版本,它都足够快,或者说至少没让你等得不耐烦.但随着业务的增多,嗖嗖嗖一下项目就有上百个组件了,也是件很简单的 ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...
- 加快android studio 编译速度
工程build一次太慢 经过各种搜索 整合以下 仅供参考 1.在下列目录中新建 gradle.properties 文件 /home//.gradle/ (Linux) /Users//.gradl ...
- 加快android studio 编译速度(已更新至Android Studio 3.3.1)
1.加快AS启动速度 “Help”-"Edit Custom Properties...",在文件中输入 # custom Android Studio properties di ...
- 加速Android Studio编译速度
一.修改运行内存 进入项目,菜单栏-help-Edit Custom VM Option Paste_Image.png 添加或修改为: -Xms2048m -Xmx2048m -XX:MaxPe ...
- 【转】实践最有效的提高Android Studio运行、编译速度方案
原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...
- android studio 编译加速
1. http://www.52codes.net/article/658.html 2.http://my.oschina.net/sammy1990/blog/388846 3.http://st ...
- Android Studio优化编译速度
随着Android Studio的不断完善,其安卓开发者阵营也基本从Eclipse转移到了Android Studio,毕竟Android Studio是谷歌亲力亲为开发的官方开发软件.不过其最重要的 ...
- [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)
通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.androi ...
随机推荐
- 序列化框架性能对比(kryo、hessian、java、protostuff)
简介: 优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 Protostuff 速度快,基于protobuf 需静态编译 Protostuff- ...
- 浅析ado.net获取数据库元数据信息 DeriveParameters
写这个文章源于早先对ADO.Net获取数据库元数据上的认识,去年我在阅读ADO.Net Core Reference的时候曾经注意过DataSet的FillSchema的这个方法.这方面,在我之前的随 ...
- 问题:关于坛友一个获取text内容并改变样式的实现
需求:点击button获得input框中选中的内容,让选中的内容变红, 实现:代码如下 1: <!DOCTYPE HTML> 3: <head> "content-t ...
- 【Linux 命令】Linux系统下强制用户下线——who,pkill
[日期]2014年11月18日 [平台]Centos 6.5 [工具]who pkill [步骤] 1)准备工作 以root身份登录. 2)执行who命令,查看有哪些用户已登录到当前主机
- HW6.22
import java.util.Arrays; public class Solution { public static void main(String[] args) { int[][] ch ...
- 【po3693】Maximum repetition substring
题意: 给定一个字符串 求重复次数最多的连续重复子串 并输出字典序最小方案 题解: 枚举子串长度L 显然如果重复次数>1 那么答案串肯定包含s[1],s[1+L],s[1+L*2],...中的两 ...
- 教程-Delphi各版本与工具下载地址
1.Delphi 7.0 下载地址:http://www.skycn.com/soft/2121.html 注册码:(正在用的没有问题)V8S3-KM82KQ-XN8JQK-EPS33EA-GZK汉化 ...
- delphi 常用属性+方法+事件+代码+函数
内容居中(属性) alignment->tacenter mome控件 禁用最大化(属性) 窗体-> BorderIcons属性-> biMaximize-> False 让鼠 ...
- A Tour of Go Concurrency
The next section covers Go's concurrency primitives. A Tour of Go Goroutines A goroutine is a lightw ...
- hdoj 1008 Elevator
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...