LIfeCycle在安卓中的使用
2020-03-20 本文已影响0人
放羊娃华振
一、为什么需要使用LIfeCycle?
在开发的时候,很多时候需要统计页面的周期。比如我们需要把打开的Activity都保存起来,在不修改baseActivity的方式下,我们可以通过在application中注册一个监听Activity的生命周期的方法。
二、实现
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
init();
}
private void init() {
registerActivityLife();
}
private void registerActivityLife() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
Log.d("registerActivityLife", "onActivityCreated =");
}
@Override
public void onActivityStarted(Activity activity) {
Log.d("registerActivityLife", "onActivityStarted =");
}
@Override
public void onActivityResumed(Activity activity) {
Log.d("registerActivityLife", "onActivityResumed =");
}
@Override
public void onActivityPaused(Activity activity) {
Log.d("registerActivityLife", "onActivityPaused =");
}
@Override
public void onActivityStopped(Activity activity) {
Log.d("registerActivityLife", "onActivityStopped =");
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
Log.d("registerActivityLife", "onActivityStopped =");
}
@Override
public void onActivityDestroyed(Activity activity) {
Log.d("registerActivityLife", "onActivityStopped =");
}
});
}
}
三、其他的LIfeCycle实现方法
可以通过自己在BaseActivity中保存Activity的页面。
还可以使用getLifecycle().addObserver(new MyLifeCycleObserver()); 在MyLifeCycleObserver中记录数据。