Android/Android 핵심기술

[Android/Kotlin] SAA(Single Activity Architecture)란?

juwon2 2024. 8. 19. 12:49

SAA란 무엇일까?

SAA는 Single Activity Architecture의 약자로, 앱전체가 하나의 Activity로만 구성된것을 의미한다.

 

단 하나의 액티비티에서 프래그먼트를 전환하여 화면을 관리하기 때문에,

모든 화면전환은 FramgmentNavigation Component를 통해 이뤄진다고 볼 수 있다.

 

 

🤔 SAA를 적용하는 이유

그럼 SAA를 적용하는 이유는 무엇일까?

왜 Activity는 하나만 사용하는 것일까??

  1. 엑티비티 생명주기 관리가 단순해져, 유지보수가 쉬워진다
  2. JetPack 라이브러리와 통합된다 (Navigation Component, LiveData, ViewModel 등과 원활하게 사용가능)
  3. Activity는 Fragment보다 상대적으로 무겁기 때문에, 메모리나 속도부분에서 Fragment를 사용하는것이 좋다
  4. 재사용성 증가 (Fragment를 독립적으로 설계하면, 다른화면에서도 사용할 수 있다)

 

위와 같은 장점들 때문에 SAA를 사용해서 화면을 많이 구성하는것같다.

화면전환은 Navigation Component를 통해 이뤄지는데, Navigation Component를 사용해 화면전환하는 방법은 따로 게시물로 작성해놨다.

Navigation Component 구현방법

 

 

📚참고자료

참고자료