gradle默认为构建预留1G的堆空间,但对于一个相对较大的app来说还远远不够,可通过
org.gradle.jvmargs=-Xmx4096M
(在项目根目录gradle.properties文件中声明)配置动态调整,可根据自身设备配置来进行调整。
org.gradle.caching=true
android.enableBuildCache=true
org.gradle.daemon=true,此选项默认3.0以后自动开启
gradle会从用户配置的repositories中顺序的查找并下载依赖库,build过程dependency resolution阶段会执行此操作,它需要访问网络,因此合理配置repositories可减少依赖库查找时间
应用的插件到底是全局的还是局部的。
应该配置到合理的位置,allprojects {} or subprojects {},不必要的插件不要apply。
(Minimize dynamic and snapshot versions),例如“2.+”。它会迫使gradle访问远程仓库判断是否有新版本可用。
gradle会自动为我们解决各种第三方库的版本依赖问题,如果存在过度的版本不一致的问题也会变相增加gradle的工作量
article/details/120603311)开启R8
R8是新一代的代码压缩工具,它的职能与Proguard相对应。在R8之前,gradle采用D8+Proguard的形式构建,R8则将混淆和D8工具整合(D8编译器在gradle 3.1版本默认开启),旨在加快构建时间和output apk大小
开启方式:
android.enableR8 = false
配置有一种方式是按需配置,目前还在试验孵化阶段,所以默认是关闭的,可以通过在gradle.properties加入这样一句来开启
org.gradle.configureondemand=true
有时候,编译脚本中会有一些代码做动态配置信息的获取,很多时候其实不需要每次搜需要去获取,可以使用缓存或者使用脚本控制与打包机进行区分,日常开发调试是不需要实时获取配置信息
如果项目开发过程中有部分模块使用到了kotlin我们需要对其编译进行优化
kotlin.incremental=true
kotlin.incremental.java=true
kotlin.incremental.js=true
kotlin.caching.enabled=true
kotlin.parallel.tasks.in.project=true //开启kotlin并行编译
最后
总而言之,Android开发行业变化太快,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,所谓“活到老学到老”只有不断的学习,不断的提升自己,才能跟紧行业的步伐,才能不被时代所淘汰。
在这里我分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
mg-izor1fTn-1647757598285)]
[外链图片转存中…(img-3RGIVcor-1647757598285)]
还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。