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.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

卷积神经网络计算题试题_卷积神经网络的计算

转自:https://zhuanlan.zhihu.com/p/631747741. 卷积卷积神经网络中的卷积是指定义好卷积核(kernel),并对图像(或者特征图,feature map)进行滑动匹配,即对应位置相乘再相加。其特点就在于能够捕捉局部的空间特征。具体过程如下图所…

html字符串转换jsx,javascript – 将React.element转换为JSX字符串

我正在尝试构建一个组件,>带孩子和>渲染DOM中的子项,以及>出于文档的目的,在pre中显示子DOM一种解决方案是将JSX作为单独的prop传递.这使得它重复,因为我已经能够通过this.props.children访问它.理想情况下,我只需要以某种方式将子prop转换为字符串,以便我可以在pre中…

Leetcode:0002(两数之和)

LeetCode:0002(两数之和) 题目描述:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会…

《Excel 职场手册:260招菜鸟变达人》一第 13 招 利用数据验证给单元格添加注释,不用批注...

本节书摘来异步社区《Excel 职场手册:260招菜鸟变达人》一书中的第1章,第13节,作者: 聂春霞 , 佛山小老鼠 责编: 王峰松,更多章节内容可以访问云栖社区“异步社区”公众号查看。 第 13 招 利用数据验证给单…

招银网络笔试java_春招|招银网络Java软件开发 电话面试+一二三面面经

电话面试:1.自我介绍2.介绍项目经历(我介绍的时候说了用到spring,spring MVC和hibernate框架)3.为什么用spring框架,有什么优点4.详细说下aop5.解释下IOC,IOC有什么好处6.spring MVC的运行流程7.spring除了注解注入还有什么方式8.hibernate框…

Numpy and Pandas

安装 视频链接:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pip install numpy pip install pandas Numpy 学习 Numpy属性 import numpy as nparray np.array([[1,2,3],[2,3,4]]) print(array) print(number of dim:,array.ndim)//几维度 pr…

认证android retrofit,Retrofit之项目介绍

项目介绍官网对retrofit介绍是这是一个"类型安全(type-safe)"的Android/Java http客户端. 目前retrofit的最新正式版本为1.9.0. 2.0版本预计2015年底发布, 相较于之前版本, 2.0版本在架构上做了很大改变, 本文代码相关的内容都是基于retrofit2.0-beta2.注: 在编程语言…

层次聚类算法 算法_聚类算法简介

层次聚类算法 算法Take a look at the image below. It’s a collection of bugs and creepy-crawlies of different shapes and sizes. Take a moment to categorize them by similarity into a number of groups.看看下面的图片。 它是各种形状和大小的错误和令人毛骨悚然的爬…

.h .dll .lib

.h为对一个函数的声明引用,include就是声明某个文件里的函数(内只有声明函数被引用了),编译时使用 .lib为链接时用的,存放的是对于DLL里函数的位置信息等,这样不必把所有dll里函数都加载到内存里&#xff0…

《机器人学经典教程》——2.2 控制论

本节书摘来异步社区《机器人学经典教程》一书中的第2章,第2.2节,作者:【美】Maja J. Matarić(马娅•马塔里奇),更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.2 控制论 随着控制理论的不断发展…

哔哩哔哩网站前端源码_分享一个仿制哔哩哔哩镜子网站源码

我老婆非常喜欢看哔哩哔哩,前些天她兴奋地和我说哔哩哔哩网站有个隐藏的彩蛋,传送门http://www.ilidilid.com/,我看了下,相当于把镜子中的网站样子弄出来了。于是,我寻思着,把自己的博客也弄个这样的彩蛋&a…

promise-async-await

通常而言,这3个关键字 都是用来「优雅」的处理ajax异步请求的 //es6的时候promise诞生,很好的解决了嵌套回调地狱,改良方案为链式回调。// es2017的时候诞生了async、await,这下异步直接没有回调了,像同步一样爽//没有…

第一冲刺阶段博客检查

我们检查的团队是:红鸟 ①团队博客: 该团队将所有的站立会议均写到了4月28日的一篇博客中,并且其中任务看板和燃尽图不全。 ②团队成员个人博客: 1>张晓晨: 没有每天个人工作总结。 2>王晓思: 从4.19…

netcore 编译 html,Asp.Net Core中的@ Html.Action

小编典典更新:从2.2.2版本开始,HttpContextAccessor将上下文保留在一个对象中(据说是为了防止请求之间的混淆),这会影响当前解决方案…因此,您需要为IHttpContextAccessor(旧版本)提供以下实现并进行注册作为一个单例:…

《CCIE路由和交换认证考试指南(第5版) (第1卷)》——1.6节虚拟交换系统

本节书摘来自异步社区《CCIE路由和交换认证考试指南(第5版) (第1卷)》一书中的第1章,第1.6节虚拟交换系统,作者 【美】Narbik Kocharians(那比克 科查理安) , 【斯洛伐克】Peter Pal…

机器学习 美股_我如何使用机器学习来探索英美文学之间的差异

机器学习 美股by Sofia Godovykh索非亚戈多维克(Sofia Godovykh) 我如何使用机器学习来探索英美文学之间的差异 (How I used machine learning to explore the differences between British and American literature) As I delved further into English literature to further…

远程执行漏洞修复方案_请马上修复!SaltStack远程命令执行漏洞

【漏洞预警】SaltStack远程命令执行漏洞(CVE-2020-11651、CVE-2020-11652)2020年5月3日,阿里云应急响应中心监测到近日国外某安全团队披露了SaltStack存在认证绕过致命令执行漏洞以及目录遍历漏洞。漏洞描述SaltStack是基于Python开发的一套C/S架构配置管理工具。国…

kafka部分重要参数配置-broker端参数

broker端参数主要在config/server.properties目录下设置: 启动命令:nohup ./kafka-server-start.sh -daemon ../config/server.properties & broker.id参数:Kafka使用唯一的一个整数来标识每个broker,全局唯一,默认…

JS正则表达式大全(整理详细且实用)

JS正则表达式大全(整理详细且实用) 作者: 字体:[增加 减小] 类型:转载 时间:2013-11-14 我要评论 JS正则表达式大全(整理详细且实用)。需要的朋友可以过来参考下,希望对大家有所帮助正则表达式中的特殊字符 字符 含意…

html设置模块宽度为200像素,css 宽度(CSS width)

DIV CSS宽度width样式属性CSS 宽度是指通过CSS 样式设置对应div宽度,以下我们了解传统html宽度、宽度自适应百分比、固定宽度等宽度知识。传统Html 宽度属性单词:width 如width"300";CSS 宽度属性单词:width 如width:300px;一、Wid…