一、Lifecycle簡(jiǎn)介
androidx.lifecycle 生命周期感知行組件可執(zhí)行操作來(lái)響應(yīng)另一個(gè)組件(如activity洞豁、fragment禽翼、service、application)的生命周期狀態(tài)的變化族跛。
二闰挡、Lifecycle使用
Jetpack為我們提供了2個(gè)接口:
被觀察者:LifecycleOwner
觀察者: LifecycleObserver
被監(jiān)聽的系統(tǒng)組件需要實(shí)現(xiàn)LifecycleOwner接口,觀察者需要實(shí)現(xiàn)LifecycelObserver接口礁哄。
1.添加依賴
implementation 'androidx.appcompat:appcompat:1.2.0'
androidx.ComponetActivity已經(jīng)實(shí)現(xiàn)了LifecycleOwner接口长酗。
2.實(shí)現(xiàn)觀察者
public class LifecycleObserverImp implements LifecycleObserver {
private static final String TAG = "LifecycleObserverImp";
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
private void onCreate() {
Log.d(TAG, "onCreate: ");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
private void onStart() {
Log.d(TAG, "onCreate: ");
}
}
3.在activity中綁定監(jiān)聽
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getLifecycle().addObserver(new LifecycleObserverImp());
}
}
三、總結(jié)
Lifecycle組件主要是幫助解耦桐绒,自定義的組件也能接收到生命周期的變化夺脾。