개발한 앱중에 하나가 MainActivity 하나를 두고 모든 화면을 Fragment로 구성해서
어느 메뉴에 진입하면 MainActivity에서 해당 화면의 Fragment로 replace 해서 화면을 이동하는 식으로
만들어 진게 있습니다.
그동안 만든 앱들은 화면 마다 각기 다른 Activity를 두고 인텐트 호출해서 이동하는 식이었는데
이번에 처음으로 모든 화면을 Fragment로 구성해서 add/remove/replace 하는 방식으로 만들어 봤는데요.
그런데, Fragment로 구성한 화면들은 Backstack 관리도 너무 힘들고 화면마다 앱을 백그라운드에 내렸다 올렸다던지 푸쉬를 받는 다던지 할때 네트워크를 재요청해서 화면을 재구성하도록 하는데
Fragment 들은 Activity에 종속되서 그런지 Activity가 onResume을 호출하면 쓸때없이
하위 stack에 쌓인 Fragment들이 전부다 onResume이 호출되서 죄다 네트워크 요청을 하더군요 ;;;
그래서 막 stack 쌓인 애들중에 Tag를 달아주고 Base가 되는 Fragment에서 그 이름가지고 비교하면서 얘가 지금 최상위 Fragment가 아니면 네트워크 호출 안하도록 하는데 너무 비효율적인 것 같은거에요..
화면마다 다른 Activity로 구성되어 있을 때는 이런 문제 없이 딱 해당 Activity만 호출했는데 말이죠.
그래서 궁금한게 굳이 모든 화면을 Fragment로 구성해서 설계하는게 각 화면마다 Activity를 만들어서
설계하는거랑 뭐가 더 좋길래 이런 방식을 쓰는 것인지 궁금합니다.
많은 조언과 지식공유 부탁드립니다 ㅠㅠ
너무 지식이 없어서 그런지 제 머리로는 뭐가 좋은지 도데체 이해가 안되네요 ㅠㅠㅠ