Activity :
- Activity는 Android의 4대 Component중 하나로 사용자에게 실제로 보이며, 사용자와 상호작용하는 화면을 말한다. Activity는 하나 이상의 View또는 ViewGroup을 반드시 가지고 있어야 하며, 한 번에 하나의 Activity만 Disaplay할 수 있다.
더보기
ViewGroup 과 View 란????
ViewGroup :
- ViewGroup은 n개의 View를 포함할 수 있는 Container이다.
- 우리가 자주 쓰는 레이아웃이 ViewGroup에 해당한다. ex) LinearLayout, ConstraintLayout ...
View :
- 안드로이드에서 사용자가 눈으로 보는 모든 것은 View이다. 화면의 기본적인 컴포넌트라고 얘기 할 수 있다. TextView, ImageView, EditText, ... 등 자주 쓰는 모든 UI 관련된 컴포넌트는 View라는 클래스를 상속 받는다.
Fragment :
- Fragment는 간단하게 말하면 Activity + View라고 할 수 있다. View의 개념을 가지고 Activity위에 배치되지만, Activity의 개념을 가지고 그 위에 다른 VIew들을 배치할 수 있는 것이다.
Fragment가 나온 이유는 안드로이드가 여러 디바이스 (예 : 태블릿) 을 지원하면서 다양한 기기의 화면에 대응할 필요가 있어졌기 때문입니다. Fragment는 기본적으로 큰 화면에서 역동적이고 유연한 UI 디자인을 지원하는 것이 목적이었다.
Fragment를 사용하는 이유(장점) :
- 액티비티는 무겁다. (Activity를 새로 띄우는 것 보다는 Activity 위에 Fragment를 올리는 것이 훨씬 빨리 처리되고 system resource도 적게 먹으므로 Fragment를 띄우는 것이 좀 더 가볍고, Activity는 무겁다고 표현하는 것.)
- Activity 내에서 Fragment는 상대적으로 가볍게 추가/제거가 가능하다.
- UI를 모듈화하여 재사용하고 화면 구성을 더욱 쉽게 할 수 있도록 도와준다.
- Activity Stack에 Activity를 쌓아두기보다 Fragment Backstack에서Fragment를 관리하는게 메모리 관리에서의 효율도 챙기고 화면 전환시에 Activity보다 더 순조롭다.
Activity Stack
Fragment의 단점:
- 트랜잭션 내에서 문제가 발생한다면 오류 발생
- Activity의 생명주기에 Fragment 생명주기까지 관리 필요
Fragment 와 Activity의 차이점?
- Activity는 독립적 활용 VS Fragment는 Activity에 종속.
- Activity는 전체화면을 차지 VS Fragment는 전체 화면 and 부분 (디자인에 많은 유연성 가짐)
- Activity는 자동적으로 스택에 넣어지고 Fragment는 트랜잭션을 통해서 요청해야 한다.
Activity 사용 예:
- 만드려는 앱의 크기가 작고,
- 기능이 복잡하지 않고 단순하고,
- 스마트폰 자체에서만 사용할 것이라면 Activity
Fragment 사용 예:
- 하나의 Activity 내에서 여러개의 화면을 구성하고 싶고,
- 태블릿 등의 큰 화면에서 공간 낭비 없는 UI를 구성하고 싶다면 Fragment
'안드로이드 자바 코틀린 기초 지식 > 안드로이드 기초 지식' 카테고리의 다른 글
Activity LifeCycle ( 생명주기) (0) | 2023.02.27 |
---|---|
ANR (Application Not Responding) (0) | 2023.02.27 |
안드로이드 4대 컴포넌트 (0) | 2023.02.25 |
Manifest 란 (0) | 2022.11.20 |
안드로이드 이미지 로딩 최적화 (0) | 2022.09.05 |