AndroidStudio编译优化
来源:互联网 发布:学编程半天不出成果 编辑:程序博客网 时间:2024/06/07 16:27
不知不觉写了三年的Android,以前视图过些博客但一直坚持下来,或者写到一半就丢弃忙其他去了。现在的部门老大是个喜欢写博客的大牛,在老大的感染下,开始写博客记录下写码过程中的一些坑和解决思路吧。
先说一下编译慢的原因:
1、编译的时候,Java的设定虚拟机太小,目前的AndroidStudio个人觉得是比较吃电脑配置的。可以通过增大gradle运行时的设定的虚拟机大小来加快速度。
2、引用比较庞大的Module或者多个Module,如果Module不怎么修改的话,可以把Module打包成aar文件
在此引用博主 少有人走的路博客中的图片http://blog.csdn.net/zero_and_one/article/details/42009487
repositories{ //mavenCentral() flatDir{ dirs 'libs' } //maven { url "https://jitpack.io" }}dependencies { compile(name: 'Module的aar文件名字', ext: 'aar')}
3、引用太多第三方模块,如今大部分Android需要快速开发,都是引用大量的第三方模块,在gradle中引用第三方模块时采用maven方式依赖,每次编译gradle都会先通过网络请求maven的中央仓库,即使库文件已经下载到本地,也需要请求一次仓库。引用的方式为
dependencies { //引用EventBus compile 'org.greenrobot:eventbus:3.0.0'}
解决的思路就是第一次同步代码后,把第三方库都下载到本地,将gradle设置为offline模式。
具体优化的操作如下:
1、修改项目下gradle.properties文件
# Project-wide Gradle settings.# IDE (e.g. Android Studio) users:# Settings specified in this file will override any Gradle settings# configured through the IDE.# For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html# The Gradle daemon aims to improve the startup and execution time of Gradle.# When set to true the Gradle daemon is to run the build.# TODO: disable daemon on CI, since builds should be clean and reliable on serversorg.gradle.daemon=true# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256morg.gradle.jvmargs=-Xmx4096m -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_projectsorg.gradle.parallel=true# Enables new incubating mode that makes Gradle selective when configuring projects.# Only relevant projects are configured which results in faster builds for large multi-projects.# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demandorg.gradle.configureondemand=true
2、修改主module下的build.gradle文件
android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.xxx.xxx" minSdkVersion 17 targetSdkVersion 25 versionCode 1 versionName "1.0.0" //优化编译速度 dexOptions { dexInProcess true preDexLibraries true javaMaxHeapSize "4g"//越大越好 incremental true } }}
3、 gradle 设为离线编译模式方法
file->setting->build,execution,deployment->gradle
勾选offline work。如果引入新的第三方库先取消掉,同步编译完再勾上。
阅读全文
0 0
- AndroidStudio编译优化
- androidstudio 优化gradle编译效率
- androidstudio 优化编译速度(测试有效)
- AndroidStudio优化
- AndroidStudio-Eat-Guide—— 2.Gradle编译优化
- AndroidStudio-Eat-Guide—— 2.Gradle编译优化
- AndroidStudio 安装 配置 优化
- AndroidStudio性能优化
- AndroidStudio优化指南
- androidStudio性能优化
- AndroidStudio性能优化
- 2017 AndroidStudio优化
- androidStudio gradle 编译基础
- AndroidStudio编译错误
- AndroidStudio 编译错误
- Androidstudio加速编译
- AndroidStudio 一个编译技巧
- AndroidStudio编译FBreaderJ
- Imbalanced Data
- InputStreamReader BufferedReader 用法概述
- 简单排序算法时间空间复杂度分析及应用(8)-归并排序
- Svn常规规范管理操作
- Two Sum II
- AndroidStudio编译优化
- Maven多项目依赖配置
- gulp--gulp-uncss清理多余无用css
- js基础进阶2-2 面向对象(类与对象的创建与使用)
- 面向 Java 开发人员的区块链链代码
- cannot watch `referee.log': No space left on device
- karma+webpack搭建vue单元测试环境
- //此函数通过传入的进程ID来终止(杀死)进程
- Android快速开发系列 10个常用工具类