프래그먼트는 액티비티에 따라 존재해야 하므로 액티비티의 수명주기는 프래그먼트의 수명주기에 직접적인 영향을 미칩니다. 공식 웹사이트에 있는 이 그림은 둘 사이의 관계를 매우 잘 보여줍니다.
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
Activity보다 더 많은 수명 주기가 있습니다. 누구나 Activity와 완전히 통합되어 있습니다.
Android의 Fragment와 Activity의 수명주기 비교와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!