Activity와 Fragment

2021. 1. 14. 21:43

안드로이드 스튜디오 관련 영상을 보던 중

Activity가 아닌 Fragment를 만들었다는 설명이 있어 둘의 차이가 궁금해 찾아보았다. 

 

우선 간단히 말하자면

Fragment는 Activity와 View를 합쳐놓은 것으로

Activity와 View의 중간에 위치한다.

 

집으로 비유해보았을 때,

Activity는 바닥이고 View는 물건이라 할 수 있다.

즉, Activity 위에 View가 존재하고

View는 Activity가 있어야지만 존재할 수 있다.

 

Fragment는 둘을 합쳐놓은 것이기 때문에

Fragment 위에 View가 존재할 수 있고 ( = Activity )

Fragment는 Activity가 있어야지만 존재할 수 있다. ( = View )

 

Fragment를 사용하는 이유는 Activity의 한계 때문이다.

예를 들어 activity가 길어지면 관리 포인트가 많아져 관리가 힘들고

태블릿 같은 경우 다른 비율의 화면을 제공해야하기 때문에

activity를 쪼개주어야 하는 일이 발생한다.

Activity를 변경하면 View도 따라서 변하게 되는 것이 Activitiy의 특성이다.

그러나 Fragment는 하나의 Activity에 여러개의 Fragment를 사용하여 

Activity를 변경하지 않아도 쉽게 View를 변경할 수 있다.

 

 

Fragment를 사용하면 관심사 분리를 통해 의존성을 분리하고 독립성을 키울 수 있다.

그렇기 때문에 Fragment로 구현한 내용을 다른 Activity나 Fragment에서 재사용할 수 있다.

하지만 fragment가 특정 Activity나 Fragment에 의존적이라면 재사용하기 힘들다.

Activity는 Fragment에 비해 상대적으로 무겁다.

그러나 Fragment의 존재를 위해서는 Activity가 꼭 필요하다.

Activity 내에서 Fragment는 상대적으로 가볍게 추가, 제거가 가능하기 때문에

Activity를 여러개 사용하는 것 보다 Fragment를 여러개 관리하는 것이

메모리 관리면에서도 효율적이며 순조로운 화면전환이 가능하다.

 

다양한 장단점이 있기때문에 둘 중 어느 것이 정답이라고 할 수는 없다.

일단 구글에서는 Fragment 사용을 권장하고 있다.

모든 화면을 꼭 단일 Activity에 다중 Fragment로 구성할 필요는 없지만

적절한 Fragment 사용은 다방면에서 혜택을 준다.

728x90

BELATED ARTICLES

more