前言
lifecycle 通过注解的方式,轻松监听Activity的声明周期。
开始
- 集成类库
build.gradle
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
- 编写注解类
@OnLifecycleEvent注解可以监听声明周期
class MyChronmeter(context: Context?, attrs: AttributeSet?) : Chronometer(context, attrs),LifecycleObserver {
var elapsedRealtime = 0L
/**
* onPause时候执行
*/
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun pauseMeter(){
elapsedRealtime = SystemClock.elapsedRealtime() - base
}
/**
* onResume时执行
*/
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
fun resumeMeter(){
base = SystemClock.elapsedRealtime() - elapsedRealtime
}
}
- 绑定Activity
class JetLifeCyclesActivity : AppCompatActivity() {
lateinit var chronometer: MyChronmeter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_life_cycler)
chronometer = findViewById(R.id.meter)
lifecycle.addObserver(chronometer)
}
}
本文介绍了JetPack的Lifecycle组件,通过注解方式轻松监听Activity的生命周期。首先,我们集成Lifecycle类库,然后在build.gradle中配置。接着,创建注解类并使用@OnLifecycleEvent来监听声明周期变化。最后,将注解类与Activity进行绑定,实现生命周期的高效管理。

被折叠的 条评论
为什么被折叠?



