android最佳实践1:retrolambda框架

retrolambad框架,让android也能兼容java8l的ambda表达式

我们都知道,java在复杂的内部类,内联函数实现的时候,会产生很多的回掉,代码阅读性会变得很差,经常会遇到迷之缩进。java8开始引入了ladmbad表达式,鼓掌!!但是,你妹,android只支持最高jdk7,坑爹呢。不要紧,伟大的歪果仁搞出了兼容性框架,gradle-retrolambda,戳戳看。

2016年新更新:google的亲儿子android studio2.1以及支持java8了,并用了新的编译器jack compile替代老旧的dvm了,再次鼓掌,目前还是预览版,尝鲜的小白鼠走起。

##如何使用retrolambda

1 下载jdk8,并配置环境变量

2 修改工程的build.gradle

1
2
3
4
5
6
7
8
9
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
+ classpath 'me.tatarka:gradle-retrolambda:3.2.4'
}
}

3 修改module,比如app的buidle.gradle

1
2
3
4
5
6
7
8
9
10
11
12

android {
...
//打包用java8
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
...
}

+ apply plugin: 'me.tatarka.retrolambda'

4 测试

参考资料

Android 上的 Java 8:使用 retrolambda

Android开发最佳实践