虽然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。 
修改后该问题得已解决。

转载于:https://www.cnblogs.com/jon-snow/p/5481280.html

Android Sutido 编译速度优化相关推荐

  1. 今日头条 Android '秒' 级编译速度优化

    背景介绍 Android 项目一般使用 gradle 作为构建打包工具,而其执行速度慢也一直为人所诟病,对于今日头条 Android 项目这种千万行级别的大型工程来说,全量编译一次的时间可能高达六七分 ...

  2. LaTeX的编译速度优化方案

    1 运行字体 如果是卡在 eu1lmr.fd 的话,是因为 XeLaTeX 在定位字体. 用管理员运行 fc-cache -fv 一般能够解决. 其它方法: https://www.zhihu.com ...

  3. Android 编译速度优化黑科技 - RocketX

    一.背景描述 二.效果展示 三.思路问题分析与模块搭建 四.问题解决与实现 五.一天一个小惊喜 六.下一步展望 一.背景描述 在项目体量越来越大的情况下,编译速度也随着增长,有时候一个修改需要等待长达 ...

  4. 硬核分享:优化 “Android Studio” 编译速度的10个小技巧

    前言 Google现在最推荐的IDE是Android Studio: 用起来很智能,但是也有占用很多内存,运行起来很卡的缺点,下面,我们就来谈谈Android Studio的优化吧 安装完成后启动卡死 ...

  5. 美图Android编译速度优化实践指南

    分享嘉宾:张仙华 美图 资深开发工程师 分享嘉宾:张仙华,美图秀秀android团队资深研发工程师,负责编译加速.性能优化.架构设计等公共基础相关工作 导读:本文的主题是美图秀秀的Android编译速 ...

  6. xcode修改时间后就要重新编译_iOS 微信编译速度优化分享

    前言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了.记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶然间更 ...

  7. android ART编译预优化

    点击打开链接 编译预优化 DEX文件编译比较花费时间.这在OTA或者工厂首次烧入程序后非常明显. 可以在BoardConfig.mk文件中使能编译预优化,在编译时将会为APK/jar做Dex优化(de ...

  8. 一分钟帮你提升Android studio 编译速度

    版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758. https://blog.csdn.net/u013132758/article/deta ...

  9. android o 编译及运行,【转】实践最有效的提高Android Studio运行、编译速度方案

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

最新文章

  1. Python基础总结(4)
  2. 计算机应用基础课程建设规划,计算机应用基础课程建设方案(6页)-原创力文档...
  3. 要成为一个成熟的软件工程师不容易啊
  4. 史蒂夫·乔布斯很懂团队建设
  5. ACE-Task结构介绍(二)——消息块ACE_Message_Block结构的分析
  6. vc 中C 语言命名规范(转)
  7. 关于重构之Switch的处理【二】
  8. sql 循环处理数据_图文介绍 SQL 的三种查询计划处理模型,Spark 用了其中两个
  9. 30岁程序员吐槽:一分钟只能赚3.3元,混得太差!算出月薪后我服了
  10. (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  11. layout_gravity 属性和 gravity属性的区别
  12. [Apple开发者帐户帮助]二、管理你的团队(7)管理服务器帐户
  13. mysql查询男生基本情况_MySQL(一)基本查询
  14. Python 打包的EXE文件反编译2|pyc文件自动反编译
  15. H5动效的常见制作手法
  16. html设置背景图片颜色,CSS设置背景图片及背景颜色示例
  17. Onlyoffice安装步骤
  18. Maven在线仓库地址
  19. Pr:Lumetri范围
  20. Excel图表:随心所欲模拟坐标轴

热门文章

  1. java arraylist排序_最全Java集合笔记
  2. 安装mysql5.7.24rpm_centos7安装mysql-5.7.24(rpm安装)
  3. mybatis oracle trim,Mybatis trim标签
  4. webase crud查看所有表_Laravel-Gii 可视化代码生成工具 CRUD +GUI
  5. python调用c函数传字符串参数_Python使用ctypes模块调用DLL函数之传递数值、指针与字符串参数...
  6. 力扣删除排序数组中的重复项
  7. 【视觉项目】【day6】8.26关于matchTemplate()以及NCC的思考整理
  8. c语言数据转移,重温C语言(2)之数据
  9. UVA 11552——Fewest Flops
  10. 1190. 反转每对括号间的子串 golang反转字符串