LiveData 之所以能够感知到组件的生命周期 是因为 在LiveData里面给组件中注册了一个生命周期的观察者 LifecycleBoundObserver封装观察者 和组件的对象 LifecycleBoundObserver.mLastVersion mVersion -1 -1 0 0 观察者有两种情况会被回调 1.postValue的时候会遍历所有的观察者 然后回调 2.当组件的生命周期发生改变,或者当我们第一次注册一个观察者的时候,会被回调 assertMainThread("setValue"); 在这里判断线程是不是主线程 不是就抛异常 Lifecycle.Event.ON_PAUSE