感谢,很久没写文章了,这篇还是两年前的文章,lifecycle有不少api都已经改变,建议大家自行看一遍新的源码,加深理解
Android-Lifecycle超能解析-生命周期的那些事儿版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity、Frag...
感谢,很久没写文章了,这篇还是两年前的文章,lifecycle有不少api都已经改变,建议大家自行看一遍新的源码,加深理解
Android-Lifecycle超能解析-生命周期的那些事儿版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity、Frag...
网上有很多 APT 相关教程,最近开始学这个,发现有一些内容已经过时了,在使用过程中也发现了一些坑,总结一下,形成这篇教程。 本文开发环境:2019年5月初最新版本的 And...
@无敌小草wx 是怎么个实现不了呢? 无法找到类?
Android-Lifecycle超能解析-生命周期的那些事儿版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity、Frag...
上两篇文章从源码角度深入理解Glide(上)和从源码角度深入理解Glide(中)中,我们已经把Glide加载图片的基本流程走了一遍,想必你已经对Glide的加载原理有了新的认...
以Activity为例
1.首先明白两个观念,State从INITIALIZED到RESUMED状态是增大的过程。Activity生命周期改变,应触发mObserverMap中所有LifecycleObserver改变State到同一状态。
2.在addObserver时,由于需要将Activity的生命周期变化分发给新LifecycleObserver,新LifecycleObserver的State初始是INITIALIZED,即如果Activity当前生命周期处于onResume,那么需要将新LifecycleObserver的State从INITIALIZED增大为RESUMED。 因此mObserverMap中已有的LifecycleObserver的State肯定>=INITIALIZED,即你所说的先添加的肯定比后添加的大
3.在addObserver时,calculateTargetState为什么不直接用mState作为目标State呢,而是用mObserverMap中最后一个LifecycleObserver的State、mState、parentState三者中最小的一个State呢,由于mState变化时,会通知mObserverMap中所有State变化到mState(如果它们3不一样,说明这个过程还没走完),因此这里只需要取最小的State,因为新LifecycleObserver的State从INITIALIZED变化到这个最小值是最快的
Android-Lifecycle超能解析-生命周期的那些事儿版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity、Frag...