[Android] [Jetpack] Grundlegende Verwendung von Lifecycle

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.

Ich denke du magst

Origin blog.csdn.net/xfb1989/article/details/110872521
Empfohlen
Rangfolge