第一章 Android: 彻底搞懂Lifecycle——使用篇
第二章 Android: 彻底搞懂Lifcycle——原理篇
你真的了解lifecycle吗?本文的目标就是要“打破砂锅问到底”,带你真真切切了解它。
lifecycle 是属于Android Jetpack(官方开发工具包)—— Architecture(架构组件)中的一员。
【官方介绍】构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。
【白话】lifecycle可以和Activity或Fragment生命周期绑定,方便我们做一些跟生命周期相关的业务逻辑。
为了方便李(理)姐(解),下面直接用伪代码写了。
class MainActivity: AppCompatActivity{
/**网络监听器*/
val .NET = NetListener()
/**视频播放器*/
val mPlayer = VideoPlayer()
override fun onStart(){
mNet.connect()// 网络开始连接
mPlayer.startCache()// 视频开始缓冲
耗时任务()
// 其他业务逻辑...
}
override fun onStop(){
mNet.cancel()// 网络断开
mPlayer.releaseCache()// 视频释放缓存
// 其他业务逻辑...
}
}
这是很常见的写法,我们在生命周期的回调方法中做了很多事情,一旦代码多了后,是很难维护的。
另外,在页面停止时,其他生命周期(如onStart)有耗时任务,这时有可能onStop先结束,而耗时的组件,还存在。
随着业务复杂,也容易出bug, 让本不富裕的家庭,雪上+霜