gradle androidDependencies 找到每种buildtype下的依赖关系图
compile ''{ exclude module:'' } 排除一个库中引用的其它库
gradle build -profile Gradle性能检测
gradle task 查看Android工程有哪些Task
gradle task --all 查看各个Task的具体作用与各个Task之间的相互调用关系
gradle assemble
gradle assembleRelease
gradle assembleBug
gradle check 用于执行检查任务
gradle build 组合指令,相当于执行了check和assemble的所有工作
gradle clean 清理所有中间编译结果
gradle build -x link 禁用掉Lint
Gradle加速
1.可以在 gradle.properties 文件中增加如下所示代码
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
2.同时,在build.gradle中增加如下所示的代码
dexOptions{
incremental true
javaMaxHeapSize "4g"
}
gradle增加编译内存
1.可以在 gradle.properties 文件中增加如下内存配置
Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
使用Gradle 精简资源
1.打开快捷指令输入框,输入"remove unused resources" 进行资源精简2.shrinkResources true
这两种检查资源的方式属于静态检测,一些动态加载的资源是无法检测的,注意不要误删
使用Gradle本地缓存
在AndroidStudio Setting-Build-Build Tools-Gradle标签中,选择Offline work,并指定默认的.gradle文件夹即可
这种方式可以让Gradle在离线的情况下进行编译,优先使用本地库
Gradle生命周期
Gradle在编译项目时有着它自己的生命周期,从编译开始到编译完毕Gradle一共要经历三个阶段
1.Initiliazation
初始化阶段,顾名思义就是执行Gradle的初始化配置选项,即执行项目中的settings.gradle脚本
2.Configration
解析每个Project中的build.gradle脚本,即解析所有Project中的编译选项。解析完毕后,Gradle就生成了一张有向关系图-taskgraph,这里面包含了整个Task的依赖关系
3.Build
最后的编译运行阶段,即按照taskgraph执行编译
在实际开发中,决不能简单地说RelativeLayout、LinearLayout谁的性能更好,必须结合实际使用来进行分析。但一般来说,如果使用LinearLayout,则一定要保证层级不能太深;如果使用RelativeLayout,则需要尽量避免嵌套
网友评论