ホームページ  >  記事  >  Java  >  Android における Fragment と Activity のライフサイクルの比較

Android における Fragment と Activity のライフサイクルの比較

高洛峰
高洛峰オリジナル
2017-01-07 16:09:161406ブラウズ

フラグメントはアクティビティに依存して存在する必要があるため、アクティビティのライフサイクルはフラグメントのライフサイクルに直接影響します。公式 Web サイトのこの図は、この 2 つの関係を非常によく示しています:

Android における Fragment と Activity のライフサイクルの比較

Fragment には、Activity よりもいくつかの追加のライフサイクル コールバック関数があることがわかります:

onAttach(Activity);  //当Activity与Fragment发生关联时调用
 
onCreateView(LayoutInflater,ViewGroup,Bundle);  //创建该Fragment的视图
 
onActivityCreate(bundle);  //当Activity的onCreate();方法返回时调用
 
onDestoryView();  //与onCreateView相对应,当改Fragment被移除时调用
 
onDetach();  //与onAttach()相对应,当Fragment与Activity的关联被取消时调用

注: onCreateView を除く他のすべてのメソッドは、オーバーライドするには、このメソッドの親クラスの実装を呼び出す必要があります。

シーンデモ:

このフラグメントに切り替える

11-29 14:26:35.095: D/AppListFragment(7649): onAttach
11-29 14:26:35.095: D/AppListFragment(7649): onCreate
11-29 14:26:35.095: D/AppListFragment(7649): onCreateView
11-29 14:26:35.100: D/AppListFragment(7649): onActivityCreated
11-29 14:26:35.120: D/AppListFragment(7649): onStart
11-29 14:26:35.120: D/AppListFragment(7649): onResume

画面オフ:

11-29 14:27:35.185: D/AppListFragment(7649): onPause
11-29 14:27:35.205: D/AppListFragment(7649): onSaveInstanceState
11-29 14:27:35.205: D/AppListFragment(7649): onStop

画面のロックを解除

11-29 14:33:13.240: D/AppListFragment(7649): onStart
11-29 14:33:13.275: D/AppListFragment(7649): onResume

他のフラグメントに切り替える:

11-29 14:33:33.655: D/AppListFragment(7649): onPause
11-29 14:33:33.655: D/AppListFragment(7649): onStop
11-29 14:33:33.660: D/AppListFragment(7649): onDestroyView

元のフラグメントに切り替える:

11-29 14:33:55.820: D/AppListFragment(7649): onCreateView
11-29 14:33:55.825: D/AppListFragment(7649): onActivityCreated
11-29 14:33:55.825: D/AppListFragment(7649): onStart
11-29 14:33:55.825: D/AppListFragment(7649): onResume

デスクトップに戻る

11-29 14:34:26.590: D/AppListFragment(7649): onPause
11-29 14:34:26.880: D/AppListFragment(7649): onSaveInstanceState
11-29 14:34:26.880: D/AppListFragment(7649): onStop

アプリケーションに戻る

11-29 14:36:51.940: D/AppListFragment(7649): onStart
11-29 14:36:51.940: D/AppListFragment(7649): onResume

アプリケーションを終了する

11-29 14:37:03.020: D/AppListFragment(7649): onPause
11-29 14:37:03.155: D/AppListFragment(7649): onStop
11-29 14:37:03.155: D/AppListFragment(7649): onDestroyView
11-29 14:37:03.165: D/AppListFragment(7649): onDestroy
11-29 14:37:03.165: D/AppListFragment(7649): onDetach

アクティビティと完全に接続されています。それの利点。

Android のフラグメントとアクティビティのライフサイクル比較に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。