public class CustomLifecycleActivity extends FragmentActivity implements LifecycleOwner { private LifecycleRegistry mLifecycleRegistry; private static final String TAG = “CustomLifecycleActivity”; @Override protected void onCreate(Bundle savedInstanceS
Lifecycle是Android Architecture Components的成员,是一个生命周期感知组件,能够感知Activity、Fragment等组件的生命周期变化,并将变化通知到已注册的观察者。正确的使用有助于更好地组织代码,减少内存泄漏,增强稳定。下面分析他的实现原理,看看到底只怎么感知生命
通过调用方法可以发现,需要看一下 getLifecycle() 和 addObserver() 两个方法的内部逻辑是什么? getLifecycle() 内部实现: 通过下面代码可以看到,getLifecycle() 方法真正实现是在 ComponentActivity中,并且创建一个 LifecycleRegistry 对象,通过该方法返回。 public class Compon
今天在写程序时,使用了多线程。为了多线程同步而使用wait()和notify()方法,于是出现了线程锁非法状态异常,如下所示. java.lang.IllegalMonitorStateException: object not locked by thread before notify() at java.lang.Object.notify(Native Method)
LifeCycle简介 LifeCycle组件主要用于对具有生命周期对象(如Activity和Fragment)进行生命分发,使得其他对象能够其生命周期的变化。 它是JetPack其他组件的基础,如JetPack中的LiveData就用到了该组件,实现了Activity在后台时不回调事件,在Activity销毁时自动取消对Activity解除观