Android/Android 핵심기술
[Android/Kotlin] SAA(Single Activity Architecture)란?
juwon2
2024. 8. 19. 12:49
❓SAA란 무엇일까?
SAA는 Single Activity Architecture의 약자로, 앱전체가 하나의 Activity로만 구성된것을 의미한다.
단 하나의 액티비티에서 프래그먼트를 전환하여 화면을 관리하기 때문에,
모든 화면전환은 Framgment나 Navigation Component를 통해 이뤄진다고 볼 수 있다.
🤔 SAA를 적용하는 이유
그럼 SAA를 적용하는 이유는 무엇일까?
왜 Activity는 하나만 사용하는 것일까??
- 엑티비티 생명주기 관리가 단순해져, 유지보수가 쉬워진다
- JetPack 라이브러리와 통합된다 (Navigation Component, LiveData, ViewModel 등과 원활하게 사용가능)
- Activity는 Fragment보다 상대적으로 무겁기 때문에, 메모리나 속도부분에서 Fragment를 사용하는것이 좋다
- 재사용성 증가 (Fragment를 독립적으로 설계하면, 다른화면에서도 사용할 수 있다)
위와 같은 장점들 때문에 SAA를 사용해서 화면을 많이 구성하는것같다.
화면전환은 Navigation Component를 통해 이뤄지는데, Navigation Component를 사용해 화면전환하는 방법은 따로 게시물로 작성해놨다.