java - 当 Android 上的 Java 8 可用时,为什么 DefaultLifecycleObserver 优先于 Lifecycle 注释?

标签 java android java-8 android-support-library android-lifecycle

根据Android developer documentation on Lifecycle :

If you use Java 7 Language, Lifecycle events are observed using annotations. Once Java 8 Language becomes mainstream on Android, annotations will be deprecated, so between DefaultLifecycleObserver and annotations, you must always prefer DefaultLifecycleObserver.


class TestObserver implements DefaultLifecycleObserver {
     @Override
     public void onCreate(LifecycleOwner owner) {
         // your code
     }
 }

哪些特定的 Java 8 语言/jvm 特性正在插入生命周期注解的弃用?例如,当使用 DefaultLifecycleObserver 时,我们是否获得了更好的性能(构建或运行时)? ?

最佳答案

我想是因为 DefaultLifecycleObserver 使用 interface default methods ,这是 Java 8 的一个特性。

关于java - 当 Android 上的 Java 8 可用时,为什么 DefaultLifecycleObserver 优先于 Lifecycle 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61663501/

相关文章:

java - 我如何消费可选列表的每个元素?

java - Cordova 插件 CallLog 找不到符号

android - 检查图像是否成功下载或失败

java - 为什么继承类静态方法而不是接口(interface)静态方法?

java - 使用 Java8 流实现此集合的最佳方式

java - 验证传递方法引用

java - 尝试在Spring中将记录存储在excel文件中

Java:如何检查二维列表/数组中的 boolean 条件?

java - BoxLayout 无法使用 "createComponents"方法共享

java - 无法更新卡中显示的值 - Android 的 Cardslib 库