赞
踩
前言
使用过Android Studio开发工具的伙计们应该都知道Android Studio是使用Gradle工具来构建项目,最近我在写Android项目时,由于项目集成的内容越来越庞大造成每次Gradle工具来构建项目时特别沉重和耗时,其实呢这主要是一个历史遗留的问题本文主要讲解在开发中如何通过以下十种方法来提升优化你Gradle工具构建速度和性能.
Gradle工具每次迭代更新后会修复大量的BUG,同时会对它的性能进行升级,如今的Gradle工具已经很稳定,所以我们可以大胆放心的去升级最新版。如何查看Android Studio工具中Gradle的版本信息?如下操作步骤,(Ps:在Android Studio3.0版本后Google将自己的默认仓库添加到Android Studio工具中希望以此来提升Gradle工具构建速度很性能,但好像并没有太多的卵用)
打开你的Android Studio工具-->打开你的项目-->gradle-->wrapper-->gradle-wrapper.properties-->distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
2. 避免激活旧的Mulitidex
如果你在使用Android5.0之前版本也就是API 21之前你会发现你的Gradle工具在构建项目的时候是非常非常慢的,这是因为一个应用它的方法数是不能超过64K,如果你要是超过了就必须要做分包处理,那么也就是说Android5.0之前版本Gradle工具构建缓慢的原因是因为它要进行分包处理,它只是帮我们解决了分包处理的这个技术问题,但是并没有为我们去优化这个问题,所以它会分很多的包,无形中就会造成了很多没有必要的编译工作,因此影响到Gradle工具编译速度和性能,但是呢在最新版本的Android Studio工具中我们无需担心这个问题,因为Android Studio工具已经为我们自带原生的分包功能了,但是你还是要记住在Android5.0之前版本中会出现这个问题。
3. 不使用动态版本标识(动态依赖配置 + )
这是一个我们开发者无意间就会犯的错误,在你的项目 app的build.gradle文件中dependencies中你是否看见过如下内容在依赖的后面都会加上一个 + 符号,这里我们不建议加上 + 这个符号,为什么不建议呢?因为这个 + 符号 代表动态版本号,如果你加上了那么对Gradle工具的性能是有一定的影响的!那么为什么有 + 这个东西呢?是因为Google之前想让开发者的依赖库使用的是最新的,那么我们从Gradle工具性能上来讲 ,Gradle工具二十四小时就会自检一次依赖库,如果此时你的依赖库很多,同时你如果使用 + 动态依赖的话,就会非常影响Gradle工具的性能。那么我们如何解决这个问题呢?我们只需要指定固定一个版本依赖即可。
- dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation rootProject.ext.dependencies["appcompat"]
- implementation 'androidx.constraintlayout:constraintlayout:1.1.3+'
- implementation 'com.google.android.material:material:1.0.0+'
- implementation 'androidx.annotation:annotation:1.1.0+'
- implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0+'
- testImplementation 'junit:junit:4.12+'
- androidTestImplementation 'androidx.test.ext:junit:1.1.0+'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1+'
- }
4. 禁止使用Multidex APK构建
在讲这个技巧之前,我想大家还是先了解一下Gradle工具构建的三个性能指标
- Gradle构建三个性能指标
-
- 1、全量编译-----> 全部编译 -Open Project 编译整个项目
- 2、资源增量编译--> 当你系修改了res文件夹下面的资源文件的时候编译
- 3、代码增量编译--> 当你修改了Java/Kotlin下面的代码的时候编译
在大家了解后Gradle构建的三个性能指标后,我们接着来讲当我们的App发布到应用市场的时候,我们会进行多渠道打包,小米、豌豆荚、应用宝、等商店,但是呢,在我们开发阶段我们其实只需要一个debug版的应用可以进行调试即可,那么接下来我们只需要在Android Studio工具中进行debug版配置即可操作如下
打开Android Studio工具-->进入setting-->Build-->Compiler-->Command-line Options输入框中填写上: -PdevBuild
如果你已完成上述步骤后,现在找到你的项目app目录下build.gradle文件打开后,在android{} 花括号里添加上如下这样一段代码,(Ps:当然你也可以自定义Gradle配置文件对项目进行管理,那么你只需要在你自定义的Gradle配置文件中找到android{}花括号里添加如下代码即可)添加完后记得要Sync Now一下,Ps:此技巧只限开发阶段使用,发布上线请删除相关代码。
- android {
- // devBuild 只限开发调试,发布上线要删除这里的代码
- if (rootProject.hasProperty('devBuild')) {
- splits.abi.enable=false
- splits.density.enable=false
5. 最小化打包资源文件
当我们的应用包含不同密度的本地化资源的时候,此时我们可以使用此优化技巧,(Ps:此优化技巧只适用于开发调试阶段,发布上线请删除以下代码 ),操作步骤如下 现在找到你的项目app目录下build.gradle文件打开后在 defaultConfig{ } 花括号中添加上如下代码,添加完毕后记得Sync Now一下哦!Ps:当然你也可以在你的自定义Gradle配置文件中进行管理配置,那么你只需要在你自定义的Gradle配置文件中找到defaultConfig 花括号中添加如下代码即可)添加完毕后记得Sync Now一下哦!
- // 最小化打包资源,这里你可以指定很多内容,你指定什么资源内容就保留什么资源内容
- // 注意此技巧只限,开发调试阶段使用,发布上线请删除!!!!!
-
- defaultConfig {
- resConfigs("zh","xxhdpi")
-
-
- }
6. 禁用PNG压缩
在打包阶段Gradle会对图片进行压缩,但是在开发阶段呢我们并不需要它压缩,所以我们可以使用此技巧来对Gradle进行优化,(Ps:此优化技巧只适用于开发调试阶段,发布上线请删除以下代码),现在找到你的项目app目录下build.gradle文件打开后在 android{ } 花括号中添加上如下代码,添加完毕后记得Sync Now一下哦!Ps:当然你也可以在你的自定义Gradle配置文件中进行管理配置,那么你只需要在你自定义的Gradle配置文件中找到android{ } 花括号中添加如下代码即可)添加完毕后记得Sync Now一下哦!
-
- android {
-
- // 禁用PNG压缩
- // 注意此优化技巧你限在开发调试阶段使用,发布上线请删除以下代码
- aaptOptions.cruncherEnabled =false
- }
7. PNG图片格式转换成WebP图片格式
什么是WebP图片格式呢?具体理论可自行百度,这里就简单赘述一下
WebP最初在2010年发布,目标是减少文件大小,但达到和JPEG格式相同的图片质量,希望能够减少图片档在网络上的发送时间
由此可见它的出现就是减少图片文件大小的,那么我们该如何在Android Studio工具中进行操作呢?其实很简单,你只需要打开你Android Studio工具然后打开res目录下找到你的需要转换的图片,选中图片右键鼠标找到Convert to WebP 即可,你可以自行修改图片的数值。
8. 推荐使用Instant Run
热启动,Google已经集成在Android Studio工具中,所以不需要操作,记住有次优化操作技巧即可.
9. Gradle内存分配调优
找到你的项目 gradle.properties 配置文件中你会看到如下这段代码,这段代码的含义为虚拟机内存,默认构建工具Gradle会给你分配1.5G 空间,但是这个数值并不适用所有的项目,如果你的项目很大,这里你可以通过调整这个数值来进行优化操作!
org.gradle.jvmargs=-Xmx1536m
10. 开启Gradle构建缓存
这里是Gradle工具自带缓存,我这里建议大家都打开,默认是关闭的,如果你的项目Kotlin开发的那么你打开它会有一个很明显的改变,那么我们如何开启呢?找打到你的项目 gradle.properties 配置文件中添加如下代码即可.
- #开启Gradle构建缓存
- org.gradle.caching=true
自此我们Gradle工具项目构建十大技巧就讲述完毕了,希望这些优化技巧能帮助到大家,对此有任何疑问可在文章下留言,如有错误欢迎指认。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。