학부생나부랭이
270
2021-01-06 11:56:42
2
95

안드로이드 activity vs fragment 어느것을 언제 써야할까요??


제목그대로 언제 어떤걸 쓰는게 가장 좋은건지 모르겠습니다.


특히 jetpack에 네비게이션을 써보니까 프래그먼트 이동이 워낙 쉽고, 데이터전달도 쉬워지다보니

굳이 다소 무거운(?) 액티비티를 써야하나 궁금합니다..


그냥 하나의 액티비티에 프래그먼트만 계속 바꿔줘도 되는건 안될까요??


0
  • 답변 2

  • OkkyActivity
    389
    2021-01-06 14:26:14

    구성하시기 나름입니다. 

    말씀하신대로 Single Activity Design 은 구글에도 소개된바 있으며, Google I/O 2019 에

    Navigation Fragment 와 함께 자세히 설명했던걸로 기억해여


    사양등 많은 면에서 이득이 있지만, 그만큼 관리가 어려운 부분도 있습니다


    앱을 운영하다보면 정말 극한의 상황에서 말도 안되는 생명주기 이탈이 벌어지곤하는데여

    Activity 의 onStop(), onPause()는 보장되지만, onDestroy() 의 호출이 보장되지 않는것처럼..

    Fragment 는 Activity 보다 더욱 복잡한 생명주기를 가지고 있고 더 많은 예외사항을 가지게 됩니다.


    앱이 다시 올라오면서 Activity 가 재실행되며 발생되는 onSavedInstance() 도 Fragment 와 결합되어서 사용되면 잦은 에러를 내뿜구여..


    여러가지 장단점이 있겠지만, 구글에서도 하나의 설계 패턴으로 소개할 만큼

    시도해 볼 만한 가치는 있다고 생각합니다~

    (물론 저는 안해봤음..)

  • 학부생나부랭이
    270
    2021-01-06 19:49:41
    좋은 답변 정말 감사합니다!!
  • 로그인을 하시면 답변 을 등록할 수 있습니다.