안드로이드 학습(Kotlin)

11. Activity와 Fragment의 개요

리저브콜드브루 2025. 2. 3. 18:05
728x90
반응형

https://joyshu93.tistory.com/entry/3-Android-4%EB%8C%80-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-Activity-Service-BroadcastReceiver-ContentProvider%EC%9D%98-%EC%9D%B4%ED%95%B4

 

3. Android 4대 컴포넌트 (Activity, Service, BroadcastReceiver, ContentProvider)의 이해

Andoird의 4대 컴포넌트는 앱의 구조와 실행 흐름을 결정하는 핵심 요소다.각 컴포넌트는 독립적으로 동작하면서도 서로 상호작용하며 앱의 기능을 구성한다.Activity (화면 구성 컴포넌트)UI를 포함

joyshu93.tistory.com

해당 링크에 Activity에 대한 설명이 포함되어 있습니다.


Fragment

  • Fragment는 Activity 내에서 사용할 수 있는 UI 구성 요소의 일부이다.
  • Activity 내에 포함되어 재사용이 가능하며, 화면 분할이나 동적 UI 처리에 유용하다.
  • 자체적으로 생명주기를 가지지만, Activity에 종속적이다.

Fragment의 장점

  • 화면 분할: 하나의 Activity에 여러 Fragment를 배치하여 효율적인 UI 구성 가능
  • 유지보수 용이: 코드 재사용성이 높아짐
  • 동적 전환: Activity 전환 없이 빠른 화면 전환 가능

Fragment 전환 방법

Fragment 추가하기

val fragment = ExampleFragment()
supportFragmentManager.beginTransaction()
    .add(R.id.fragmentContainer, fragment)
    .commit()

FragmentTransaction을 통해 Fragment 추가, 교체, 제거 가능

 

Fragment 교체하기

supportFragmentManager.beginTransaction()
    .replace(R.id.fragmentContainer, NewFragment())
    .addToBackStack(null)  // 뒤로 가기 기능 추가
    .commit()

addToBackStack()을 호출하면 뒤로 가기 버튼으로 이전 Fragment로 돌아갈 수 있다.


Activity vs Fragment 전환 비교

기능 Activity 전환 Fragment 전환
전환 속도 느림 (새로운 Activity 생성) 빠름 (동일 Activity 내에서 전환)
데이터 전달 Intent 사용 Bundle 또는 ViewModel 사용
백 스택 관리 시스템이 관리 개발자가 직접 관리 (addToBackStack)
화면 분할 불가능 가능 (하나의 Activity에 여러 Fragment 추가)
리소스 관리 상대적으로 리소스 소모 큼 효율적 (Activity에 종속되어 메모리 절약)
728x90
반응형