美文网首页
AndroidStudio Gradle vs Freeline

AndroidStudio Gradle vs Freeline

作者: 6faef730638b | 来源:发表于2017-03-05 11:40 被阅读15次

    什么是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

    相关文章

      网友评论

          本文标题:AndroidStudio Gradle vs Freeline

          本文链接:https://www.haomeiwen.com/subject/pyusgttx.html