Android Studio 3.0Java 8支持详解

AndroidStudio 3.0 的 Java 8 支持,真的是个挺实用的更新。以前用 lambda 那套新语法总得绕点弯子,不是 Retrolambda 就是各种兼容库,现在终于可以名正言顺地写() -> {}了,代码更清爽,心情也跟着好。

AS 3.0 引入了一个叫desugar的工具,说白了,它就是帮你把 Java 8 的新语法“翻译”成老 Android 能看懂的字节码。比如你写了个 lambda,它会默默给你生成一个匿名内部类,不用你手动折腾。

用起来也简单,比如你想新开一个线程,以前那种冗长的写法可以直接换成这样:

new Thread(() -> {
  Log.d("MyTag", "Hello from lambda");
}).start();

除了 lambda,方法引用默认方法Streams 流这些 Java 8 的招牌特性也都能用了。你写接口时可以带点实现逻辑,再也不用写一堆抽象方法的实现类了,挺方便的。

不过呢,话说回来,并不是所有老设备都买账。如果你的目标用户还在 Android 5.0 以下,要稍微慎重一点,虽然 desugar 得挺到位,但有时候还是得看整体兼容策略。

建议你可以从边角功能开始用起来,比如内部工具类、网络回调里加点 lambda 试试,既能提效又能避免大面积“踩雷”。

如果你对 Java 8 还不太熟,下面这几个链接挺有的:

,AS 3.0 这个更新挺值得一试,是想让代码更清爽、逻辑更自然的朋友。你要是还没升级,嗯,真的可以考虑上车了。

pdf 文件大小:105.14KB