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