ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android]FragmentLifeCycle
    Android 2019. 7. 10. 00:41

    * What is Fragment? 

    Activity내에서 사용자 인터페이스의 일부를 나타낸다.
    여러 개의 프래그먼트를 조합하여 하나의 액티비티로 여러 화면을 구축할 수 있다.

    태블릿 형식의 디바이스가 등장하면서 다양한 UI 형태를 하나의 화면에 맞춰서 재사용하기 위해 고안되었다. 

    Fragment가 나오게 된 이유

     

    * Fragment Lifecycle 

    Fragment는 Activity에 종속적이기에

    Activity를 먼저 생성해야 하며. 

    종속된 Activity의 Lifecycle과도 연관 되어있다. 

     

    FragmentLifecycler 

    Activity State : Create                                                                                                 

        • onAttach()
          Fragment가 Activity에 추가될 때 호출된다. 

        • onCreate() 🔥
          Fragment가 생성되는 시점이며 종속되어 있는 Activity의 호출을 받아 생성된다.
          Fragment의 초기화 리로스 작업을 주로 한다.

        • onCreateView()🔥
           Layout를 inflate하는 곳이다. 여기서 화면이 나타나고 inflate 된 view객체를 반환하여 다시금 Acitivyt와 연결해준다. 

        • onActivityCreate()
          Fragment 생성 이후 호출.
          Activity.onCreate()가 호출 될 때 호출된다.
          Activity와 연결이 되었기에 findViewId()로 객체 접근이 가능하다. 

     

     

    Activity State : Start                                                                                                     

    • onStart()
       Fragmen 화면에 표시 될 때 호출된다. 

    Activity State : Resume                                                                                                

    • onResume()
      Fragment가 화면에 보여지고 사용자의 focus를 받은 상태이며 사용자와 상호작용이 가능하다. 

    Activity State : Pause                                                                                                    

    • onPause() 🔥
      Fragment가 focus를 잃을 때 호출되며, Fragment의 data를 저장해야 한다.

    Activity State : Stop                                                                                                       

    • onStop()
      Fragment가 화면에 보이지 않고 기능이 중지될 때 호출된다. 

    Activity State : Destroy                                                                                                  

    • onDestorView() 
      Fragment의 View에 대한 리소스 해제된다.backward & replace으로 삭제되는 경우 호출.
    • onDetach
      Fragment까 완전히 종료되는 시점.
    • onDestroy
      Activity와 연결이 끊어질 때 호출된다. 

    * Conclusion

    🔥표시 붙여놓은것들이 구글에서 권장하는 최소 Lifecycle구현 메소드이다. 

    Fragment마다 대응되는 Activity State에 대하여 정리 하였다.

    아래의 그림과 동일하다고 생각하면 된다.

     

    * Ref)

    FragmentLifecycle - https://medium.com/@lazysoul/android-fragment-lifecycle-e44906ec4406

    FragmentLifecycle - https://woovictory.github.io/2019/01/02/Android-What-Is-Fragment/

    Android Ref - https://developer.android.com/guide/components/fragments?hl=ko

    LIST

    댓글

Designed by Tistory.