gpt4 book ai didi

java - 生命周期 OnLifecycleEvent 已弃用

转载 作者:行者123 更新时间:2023-12-04 23:36:09 25 4
gpt4 key购买 nike

更新后lifecycle 2.4.0 Android Studio 的库将所有生命周期事件标记为已弃用。

@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
fun create() {
tts = TextToSpeech(context, this)
}

@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun stopTTS() {
tts?.stop()
}
是否有任何等效替换,例如 DefaultLifecycleObserver ?

最佳答案

它已被弃用,因为他们现在希望您使用 Java 8 并实现接口(interface) DefaultLifecycleObserver。由于 Java 8 允许接口(interface)具有默认实现,因此它们定义了 DefaultLifecycleObserver 与所有方法的空实现,因此您只需要覆盖您使用的那些。
使用 @OnLifecycleEvent 标记函数的旧方法是 Java 8 之前的项目的拐杖。这是允许类有选择地选择它关心的生命周期事件的唯一方法。另一种方法是强制这些类覆盖所有生命周期接口(interface)方法,即使将它们留空。
在您的情况下,更改您的类以实现 DefaultLifecycleObserver 并更改您的函数以覆盖 DefaultLifecycleObserver 的适用函数。如果您的项目尚未使用 Java 8,则需要更新 Gradle 构建文件。把这些放在 android阻止模块的 build.gradle :

    compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}

关于java - 生命周期 OnLifecycleEvent 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70384129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com