IT_Programming/Android_Java
Activity & Service & Fragment & View Lifecycle
JJun ™
2011. 8. 17. 17:54

1. Activity (액티비티)

2. Serveice (서비스)

3. Fragment (Android 3.0 에 추가됨)
출처: http://androidhuman.tistory.com/entry/프래그먼트Fragment-정복-2-프래그먼트-자세히-알아보기


각 생애주기 메서드에 대해 더 자세히 알아보도록 하겠습니다.
액티비티의 생애주기 메서드와 매우 유사한 형태를 띄고 있으며, 뷰 생성과 관련된 몇몇 메서드가 더 추가되어 있습니다.
onAttach(Activity) 프래그먼트가 액티비티 레이아웃에 포함되는 순간 호출됩니다. 액티비티 레이아웃에 프래그먼트를 정적으로 배치했다면 액티비티가 시작될 때 같이 호출되며, 동적으로 레이아웃에 추가할 땐 프래그먼트를 레이아웃에 추가하는 순간 호출됩니다.
onCreate(Bundle) 액티비티의 onCreate() 콜백 메서드와 유사하게 프래그먼트가 최초로 생성될 때 호출됩니다.
onCreateView(LayoutInflater, ViewGroup, Bundle) 프래그먼트의 UI를 구성하는 뷰(View)를 반환합니다. UI를 가지지 않는 프래그먼트일 경우 null을
반환할 수도 있습니다.
onStart() 프래그먼트가 화면에 표시될 때 호출됩니다. 하지만, 아직 사용자와 상호작용은 할 수 없는 상태입니다.
onResume() 프래그먼트가 사용자와 상호작용을 할 수 있게 되었을 때 호출됩니다.
즉, 프래그먼트가 완전히 화면에 표시되어 제 역할을 수행할 수 있게 된 상태입니다.
onPause() 액티비티의 onPause()와 유사하게 프래그먼트가 사용자와 상호작용을 할 수 없게 될 때 호출됩니다.
프래그먼트가 아직 화면에 표시되고 있는 상태이나, 다른 요소에 의해 프래그먼트가 가려져 상호작용을
하지 못하는 상태입니다.
onStop() 프래그먼트가 화면에서 보이지 않게 될 때 호출됩니다. 액티비티가 화면에서 보이지 않게 될 때
onStop() 메서드가 호출되는 것과 유사합니다.
onDestroyView() 프래그먼트가 화면에서 사라진 후, 뷰의 현재 상태가 저장된 후 호출됩니다. 여기에서 저장된 뷰의 상태는
액티비티와 유사하게 Bundle 형태로 저장되며, 저장된 뷰의 상태는 onCreate() 및 onCreateView()에서
다시 불러들일 수 있습니다.
onDestroy() 프래그먼트가 더 이상 사용되지 않을 때 호출됩니다.
onDetach() 프래그먼트가 액티비티 레이아웃에서 제거될 때 호출됩니다.
위와 같이 프래그먼트의 생애주기는 액티비티와 매우 유사합니다.
때문에 기존에 액티비티로 작성되어 있던 코드를 쉽게 프래그먼트로 옮겨올 수 있습니다.
프래그먼트에는 위의 생애주기 메서드 외에도 프래그먼트를 포함하고 있는 액티비티의 생성이
완료되었을 때 호출되는 콜백 메서드도 포함하고 있으며, 그 메서드는 다음과 같습니다.
onActivityCreated(Bundle) 프래그먼트를 포함하고 있는 액티비티의 생성이 완료되었을 때, 즉 액티비티의 onCreate() 메서드가
끝났을 때 호출됩니다.
|
[ Activity Life Cycle에 따른 Fragment Life Cycle ]

Translucent Activities


Launch Modes - SingleTop
Launch Modes - SingleTask
android-lifecycles-cheatcheet.zip
0.99MB