Jetpack LifeCycle: 使你的组件作为LifecycleOwner
有时我们使用CameraX需要指定,lifecycleOwner, 但是popwindow之类的组件, 不是lifecycleowner, 那么怎么办呢, 自己实现!
- crazy coding
class Excample: LifecycleOwner {
private val _lifecycleRegistry by lazy { LifecycleRegistry(this) }
init {
_lifecycleRegistry.currentState = Lifecycle.State.STARTED
}
protected fun finalize() {
_lifecycleRegistry.currentState = Lifecycle.State.DESTROYED
...
}
override fun getLifecycle(): Lifecycle {
return _lifecycleRegistry
}
}