在 Android(安卓)Studio 中使用 Lambda 表达式的两种方法
16lz
2021-01-25
方法一:RetroLambda
- 在项目根目录下的 build.gradle 中加入
classpath 'me.tatarka:gradle-retrolambda:3.6.0'
- 在 module 目录下的 build.gradle 中使用插件,加入
apply plugin: 'me.tatarka.retrolambda'
- 在 module 目录下的 buidle.gradle 的 android 中加入
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8}
- 最终结果
buildscript { repositories { jcenter() } dependencies { ... classpath 'me.tatarka:gradle-retrolambda:3.6.0' }}
apply plugin: 'me.tatarka.retrolambda'...android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}
方法二:Jack
- 在 module 目录下的 buidle.gradle 的 defaultConfig 中加入
jackOptions { enabled true}
- 在 module 目录下的 buidle.gradle 的 android 中加入
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8}
- 最后结果
android { ... defaultConfig { jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}
比较
目前来说 Jack 是 Google 官方给出的支持Java 8特性的方法,但是编译速度很慢非常慢,且暂不支持Instant Run
更多相关文章
- [Android]使用Dagger 2依赖注入 - 图表创建的性能
- android获取view宽高的几种方法
- ------------------Android中对GridView, ListView等滚动控件的To
- android 基于基站,apn,gps,wifi,network 根据不同手机sim卡获取经
- Android系统添加Feature方法
- Android(安卓)中Touch 事件的分发和消费机制
- Android学习笔记之:android更新ui的几种常用方法
- android mediaplayer VideoPlayerManager 加载视频闪屏问题排查
- Android(安卓)限制显示小数点后两位的实现方法