AndroidStudio Gradle vs Freeline

2017-03-05  本文已影响15人  6faef730638b

什么是Freeline?

Freeline是蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部开源。

稳定性方面:完善的基线对齐,进程级别异常隔离机制。
性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发dx,并发merge dex等策略,在多核机器上有明显加速效果,另外在class及dex,resources层面作了相应缓存策略,做到真正增量开发,另外引入并优化buck的部分加速组件dx,DexMerger,资源编译方面,深入改造了Aapt资源编译流程,当资源发生改变时候,秒级完成增量包编译,其中增量包仅含最小的变更集合(10Kb~数百Kb内),后期也被运用到线上进行资源/代码动态替换。相比目前instant-run,buck,layoutcast等方案快数倍速度。


怎么使用呢?

在project的build.gradle中配置

  dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }

在app的build.gradle中配置

apply plugin: 'com.antfortune.freeline'
dependencies {

在使用前需要使用者先安装python的环境
实测python3会出现问题,最好配置python2.X的环境

配置环境后在当前目录命令行中输入以下代码下载配置文件

gradlew initFreeline

再在plugin中安装Freeline的插件

FreelinePlugin

再在命令行中执行下列语句

python freeline.py  

即可配置完成
不输入代码也可以直接点击插件自动编译


PK环节

1.500M工程

147S Freeline 104S Gradle

2.150M工程

38.2S Freeline 18.813S Gradle

粗糙的结论

最后我选择gradle。。。。
可能是我的工程还不够大
推荐前期用gradle 后期项目大了gradle编译太慢 用freeline试试吧
最后,本文就到这里啦祝大家编译愉快!


关于作者

CodeMonkey(大四在校学生,正在校外实习中)
QQ:568261070
GitHub:https://github.com/MrCodeSniper

上一篇下一篇

猜你喜欢

热点阅读