我在Android支持庫v7中使用Fragment
類。在我的Activity
的onCreate()
方法中,我創建了一堆碎片並將它們存儲到我的活動的屬性中。在onDestroy()被調用後重用Fragment是否安全?
this.firstFragment = new FirstFragment();
this.secondFragment = new SecondFragment();
// and so on
我使用導航抽屜模式在我的應用程序的片段之間切換。要更改活動片段,請使用以下代碼。
// Replace the current content of the fragment holder with the selected section fragment.
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.container, selectedFragment).commit();
這會導致調用onDestroy()
刪除的片段。在調用onDestroy()
之後重用片段是否安全,或者每次向用戶顯示片段時是否應該重新創建片段。
這是片段的至少一個的時間與內存消耗問題,需要得到創造了一些時間。
只要你還在使用你的片段,你的onDestory將不會被調用。一旦管理片段的活動被破壞,它就會被調用。 – Eenvincible
活動沒有被銷燬('onDestroy()'沒有被調用)。只有我的片段上的'onDestroy()'被調用。任何人都可以證實這種行爲,所以我們可以消除我做錯了什麼? 此外,開發人員指南的片段的生命週期的描述暗示的onDestroy()應活性運行即使當被調用(「片段的生命週期(而其活動運行)」)。 –