Was ist der Lebenszyklus?
Der Lebenszyklus ist eine von Jetpack bereitgestellte Komponente, die die Lebenszyklusänderungen von Aktivität und Fragment erfassen kann.
Einfach zu benutzen
Definieren Sie eine von LifecycleObserver geerbte Klasse, und überschreiben Sie entsprechend den Geschäftsanforderungen die entsprechende Methode in dieser Klasse
public class LifecycleObserverImpl implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
public void onCreate() {
Log.d(MainActivity.TAG, "onCreate");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onStart() {
Log.d(MainActivity.TAG, "onStart");
}
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
public void onResume() {
Log.d(MainActivity.TAG, "onResume");
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void onPause() {
Log.d(MainActivity.TAG, "onPause");
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onStop() {
Log.d(MainActivity.TAG, "onStop");
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
public void onDestroy() {
Log.d(MainActivity.TAG, "onDestroy");
}
}
Verwendung in Aktivität
public class LifeCycleActivity extends AppCompatActivity {
LifecycleObserverImpl observer;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lifecycle);
//实例化
observer = new LifecycleObserverImpl();
//添加observer
getLifecycle().addObserver(observer);
}
@Override
protected void onDestroy() {
super.onDestroy();
//移除observer
getLifecycle().removeObserver(observer);
}
}
Auf diese Weise kann unser benutzerdefinierter Beobachter die Änderungen erhalten, wenn sich der Lebenszyklus der Aktivität ändert.
Führen Sie die Anwendung aus. Das Ausgabeprotokoll lautet wie folgt:
2020-04-14 11:08:06.579 22908-22908/com.wangyz.jetpack D/Jetpack: onCreate
2020-04-14 11:08:06.580 22908-22908/com.wangyz.jetpack D/Jetpack: onStart
2020-04-14 11:08:06.584 22908-22908/com.wangyz.jetpack D/Jetpack: onResume
2020-04-14 11:08:11.350 22908-22908/com.wangyz.jetpack D/Jetpack: onPause
2020-04-14 11:08:11.711 22908-22908/com.wangyz.jetpack D/Jetpack: onStop
2020-04-14 11:08:11.713 22908-22908/com.wangyz.jetpack D/Jetpack: onDestroy
Eine der einfachsten Demos ist geschrieben.