虽然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.html

Specifies 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-8

When 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

  1. 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
  2. Error:UNEXPECTED TOP-LEVEL ERROR:
  3. Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
  4. 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 编译速度优化的更多相关文章

  1. dWebpack编译速度优化实战

    当你的应用的规模还很小时,你可能不会在乎Webpack的编译速度,无论使用3.X还是4.X版本,它都足够快,或者说至少没让你等得不耐烦.但随着业务的增多,嗖嗖嗖一下项目就有上百个组件了,也是件很简单的 ...

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

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

  3. 加快android studio 编译速度

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

  4. 加快android studio 编译速度(已更新至Android Studio 3.3.1)

    1.加快AS启动速度 “Help”-"Edit Custom Properties...",在文件中输入 # custom Android Studio properties di ...

  5. 加速Android Studio编译速度

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

  6. 【转】实践最有效的提高Android Studio运行、编译速度方案

    原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...

  7. android studio 编译加速

    1. http://www.52codes.net/article/658.html 2.http://my.oschina.net/sammy1990/blog/388846 3.http://st ...

  8. Android Studio优化编译速度

    随着Android Studio的不断完善,其安卓开发者阵营也基本从Eclipse转移到了Android Studio,毕竟Android Studio是谷歌亲力亲为开发的官方开发软件.不过其最重要的 ...

  9. [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)

    通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.androi ...

随机推荐

  1. 编写高效的C程序与C代码优化 via jobbole

    http://blog.jobbole.com/82582/ 原文出处: codeproject 译文出处:CodingWu的博客 欢迎分享原创到伯乐头条

  2. JSP文件上传代码

    一.首先建立一个上传的界面,取名为a.jsp,代码如下 <%@ page contentType="text/html; charset=utf-8" language=&q ...

  3. 算法 后减前最大值,zt

    一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益. 问题实际上就是求一个数组后面元素减前面元素的最大值 #include <stdio.h&g ...

  4. 设计模式_Strategy_策略模式

    形象例子: 跟不同类型的MM约会,要用不同的策略,有的请电影比较好,有的则去吃小吃效果不错,有的去海边浪漫最合适,单目的都是为了得到MM的芳心,我的追MM锦囊中有好多Strategy哦.策略模式: 策 ...

  5. 使用C语言实现二维,三维绘图算法(2)-解析曲面的显示

    使用C语言实现二维,三维绘图算法(2)-解析曲面的显示 ---- 引言---- 每次使用OpenGL或DirectX写三维程序的时候, 都有一种隔靴搔痒的感觉, 对于内部的三维算法的实现不甚了解. 其 ...

  6. 数论——lucas定理

    网上证明很多,虽然没看懂.... 主要解决大组合数取模的情况 费马小定理求大组合数: a^(p-1)=1%p; 两边同除a a^(p-2)=1/a%p; C(n,m)= n!/(m!*(n-m)!) ...

  7. 使用SecureCRT远程 SSH 登陆 CentOS 和 Ubuntu

    1.CentOS下安装SSH 使用下列命令查看当前系统是否已经安装 ssh 和 rsync.rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件. rpm –qa | gre ...

  8. how to learn device driver

    making a linux usb driver http://www.kroah.com/linux/ http://matthias.vallentin.net/blog/2007/04/wri ...

  9. sqlite 修改表名,合并数据库(文件)

    修改表名:ALTER TABLE orig_table_name RENAME TO tmp_table_name; 将某个数据库的一个表的数据插入到另一个数据库的某个表里:1.先连接数据库A2.再a ...

  10. 更新yum到 163

    cdh4 yum安装; http://www.cloudera.com/content/support/en/documentation/cdh4-documentation/cdh4-documen ...