我的Android應用程序有多個活動。 MainActivity在其onCreate()方法中構造一個Dagger2組件,並將其分配給一個靜態變量,以便任何類都可以調用靜態方法MainActivity.getDaggerComponent(),然後爲它自己注入依賴關係。Dagger2組件作爲靜態全局變量
我發現的問題是,當我啓動我的VideoPlayerActivity時,MainActivity對象有時會調用onPause()。如果發生這種情況,靜態組件變量將被設置爲空。稍後,VideoPlayerActivity需要注入它的依賴關係,但沒有組件,所以事情就會爆炸。
如何確保Dagger2組件始終可用於所有活動?
在'Application'類中初始化它,或者靜態地將它初始化 –
我需要對MainActivity的引用傳遞到組件的構造函數中,所以我不認爲這些方法都可以工作。如果我不必這樣做,那將是完美的。 –
然後可能是你在做一個非常錯誤的事情,試圖在另一個Activity中使用一個Activity的依賴關係。這可能會造成內存泄漏,特別是設計問題。你能否提供更多關於你實際試圖用依賴注入解決的細節? –