0

在LifecycleObserver類中保存Lifecycle對象的引用有多好?會出現什麼樣的併發症?在LifecycleObserver中保存Lifecycle對象的引用

class MyLocationListener implements LifecycleObserver { 
    private Lifecycle mLifecycle; 
    public MyLocationListener(Context context, Lifecycle lifecycle, Callback callback) { 
      mLifecycle = lifecycle 
      ... 
    } 
} 

回答

0

你不應該保持一個參考它是內存的開口泄漏的觀察者需要觀察不包含的參考,如果你想在生命週期的變化進行操作做到這一點,像這樣:

@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY //you can change to whatever lifecycle event you need) 
public void activityDestroied() { 
//actions here 
} 
+0

對,我在詢問觀察者需要訪問生命週期狀態的場景,在這種情況下我們需要保留參考。 –

+0

需要什麼場景 –

+0

在執行函數之前使用lifecycle.getState()檢查lifecycleOwner的狀態 https://developer.android.com/topic/libraries/architecture/lifecycle.html –