Lifecycle
是 Google 在Jetpack中提出的,在包android.arch.lifecycle下面,如果使用的是 suppor 包中的 SupportActivity 或者 FragmentActivity 已经继承了 Lifecycle。使用的方法如下:
1:通过为 activity 添加一个空白的 fragment 也是一种方法,然后 fragment 就可以获取到 activity 的生命周期了,Glide 就是通过添加一个 fragment 来管理生命周期的。
2:FragmentLifecycleCallbacks
如果使用的是 fragment,那么这里提供另一种获取生命周期的方法,通过FragmentLifecycleCallbacks
可以获取到 fragment 的生命周期回调
fragment.requireFragmentManager().registerFragmentLifecycleCallbacks(object : FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentResumed(fm: FragmentManager, f: Fragment) {
Timber.tag("xx").i("onFragmentResumed")
}
override fun onFragmentPaused(fm: FragmentManager, f: Fragment) {
Timber.tag("xx").i("onFragmentPaused")
}
override fun onFragmentStopped(fm: FragmentManager, f: Fragment) {
Timber.tag("xx").i("onFragmentStopped")
//fragment.requireFragmentManager().unregisterFragmentLifecycleCallbacks(this)
}
override fun onFragmentDestroyed(fm: FragmentManager, f: Fragment) {
Timber.tag("xx").i("onFragmentDestroyed")
}
}, true)