爲什麼要引進Lifecycle?
我們在處理Activity或者Fragment組件的生命週期相關時,不可避免會遇到這樣的問題:
Lifecycle簡介&基礎使用SSC網站開發,需要請搜索【大神源碼論壇】dsluntan.com 客服企娥3393756370 V信17061863513,
我們在Activity的onCreate()中初始化某些成員(比如MVP架構中的Presenter,或者AudioManager、MediaPlayer等),然後在onStop中對這些成員進行對應處理,在onDestroy中釋放這些資源,這樣導致我們的代碼也許會像這樣:
class MyPresenter{
public MyPresenter() {
}
void create() {
//do something
}
void destroy() {
//do something
}
}
class MyActivity extends AppCompatActivity {
private MyPresenter presenter;
public void onCreate(...) {
presenter= new MyPresenter ();
presenter.create();
}
public void onDestroy() {
super.onDestroy();
presenter.destory();
}
}
代碼沒有問題,關鍵問題是,實際生產環境中 ,這樣的代碼會非常複雜,你最終會有太多的類似調用並且會導致 onCreate() 和 onDestroy() 方法變的非常臃腫。