← 질문 목록
#365깊이 0
네비게이션 컴포넌트는 왜 단일 액티비티 구조를 권장하는가?
모바일
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
화면 간의 상태 공유를 단순화하고 앱의 진입점을 하나로 통제하기 위해서다.
- 단일 액티비티공통 UI(툴바, 바텀 네비게이션) 유지
- 네비게이션 호스트화면 전환 제어
- 프래그먼트 A상세 화면
- 프래그먼트 B목록 화면
액티비티를 매번 새로 띄우면 시스템 자원이 낭비된다. 화면 전환 애니메이션을 일관되게 제어하기도 어렵다. 단일 액티비티 구조는 호스트 액티비티 하나에 프래그먼트를 갈아끼우며 작동한다.
데이터 공유가 편해진다. 액티비티 범위의 뷰모델을 공유하면 화면 사이에서 안전하게 데이터를 주고받는다. 인텐트로 데이터를 직렬화해서 넘기는 비용이 사라진다.
백스택 관리가 명확해진다. 뒤로가기 버튼을 누를 때의 동작을 라이프사이클에 맞춰 시스템이 알아서 처리한다. 외부에서 들어오는 딥링크 경로도 단일 진입점에서 분기하므로 복잡도가 낮아진다.