public void onStart()
當該Fragment對象對用戶可見時,該方法會被調用。該方法通常會跟它的Activity的生命周期的Activity.onStart()方法綁定。
public void onStop()
當Fragment對象被終止的時候,該方法會被調用,它通常會跟它的Activity的生命周期的Activity.onStop()方法綁定。
public void onTrimMemory(int level)
當操作系統判斷某個時機是從進程中消除不需要的內存的好時機時,系統會調用該方法。例如,該方法會在該Fragment對象進入后台,並且沒有足夠的內存用於保證后台進程的運行時,系統會調用該方法。
參數
level 該參數指定消除內存的上下文環境,給出可能要執行的消減應用程序的數量的提示。可以指定以下值:
TRIM_MEMORY_COMPLETE、TRIM_MEMORY_MODERATE、TRIM_MEMORY_BACKGROUND或TRIM_MEMORY_UI_HIDDEN。
public void onViewCreated(View view, Bundle savedInstanceState)
onCreateView(LayoutInflater, ViewGroup, Bundle)方法返回之后、之前被保存的View對象的狀態被恢復之前,系統會立即調用該方法。這樣就給子類在了解自己所在的View層次樹被完全被創建的情況,提供初始化自己的機會。在這個時點,Fragment對象的View層次樹還沒有跟它的父對象綁定。
參數
view 通過onCreateView(LayoutInflater, ViewGroup, Bundle)方法返回的View對象。
savedInstanceState 如果該參數是非空的(non-null),那么該Fragment對象要使用這個參數中的狀態來進行重建。
public void registerForContextMenu(View view)
該方法為給定的View對象注冊一個上下文菜單(多個View對象能夠使用同一個上下文菜單)。這個方法會給該Fragment對象的View對象設置一個View.OnCreateContextMenuListener事件監聽器,因此在上下文菜單顯示時,onCreateContextMenu(ContextMenu, View, ContextMenuInfo)方法會被系統調用。
參數
view 該參數指定應該顯示內容菜單的那個View對象。
public void setArguments(Bundle args)
該方法給該Fragment對象提供構建參數。它只。在Fragment對象被綁定到它Activity對象之前被調用,也就是說在構建該Fragment對象之后,應該立即調用。該方法提供的參數會在Fragment對象銷毀和創建期間被保留。
public void setHasOptionsMenu(boolean hasMenu)
通過該方法設置Fragment對象是否想要通過接受onCreateOptionsMenu(Menu, MenuInflater)方法的調用來加入選項菜單。
參數
hasMenu 如果是true,那么該Fragment對象就會有一個選項菜單。
public void setInitialSavedState(Fragment.SavedState state)
該方法使用由FragmentManager.saveFragmentInstanceState()方法返回的狀態,作為該Fragment對象初次創建時應該恢復的狀態。
參數
state 該參數指定應該恢復的狀態。
public void setMenuVisibility(boolean menuVisible)
該方法用於設置Fragment對象的菜單是否應該顯示。如果該Fragment對象已經被放到了View的層次樹中,而用戶當前還看不到它,所以該Fragment對象的任何菜單也是不可見,這時調用這個方法就可以幫助顯示和隱藏菜單。
參數
menuVisible 默認值是true,意味着該Fragment對象的菜單像通常一樣顯示,如果是false,用戶就不能夠看到這個菜單。
public void setRetainInstance(boolean retain)
該方法用於設置在Activity對象被重建(如配置的變化)時,是否應該保留該Fragment對象的實例。它僅適用於沒有在回退堆棧中Fragment對象。如果設置為true,那么該Fragment對象的生命周期與創建Activity時有些不同:
1. onDestory()方法不會被調用(但是onDetach()方法會依然被調用,因為該Fragment對象會從當前的Activity中被解除綁定)。
2. onCreate(Bundle)方法不會被調用,因為該Fragment對象沒有被重建;
3. onAttach(Activity)和onActivityCreated(Bundle)方法會依然被調用。