Lifecycle:
为ViewMode添加生命周期
public interface ViewModelLifecycle extends LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_ANY) void onAny(LifecycleOwner owner, Lifecycle.Event event); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onCreate(); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onStart(); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onResume(); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onPause(); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onStop(); @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) void onDestroy(); }
ViewModel:
public abstract class BaseViewModel extends ViewModel implements ViewModelLifecycle { protected Application application; public <T> MutableLiveData<T> getMutableData(MutableLiveData<T> data){ if (data == null){ data = new MutableLiveData<>(); } return data; } }