본문 바로가기
개발노트/Android

[Android Studio] 레이아웃 성능과 그 종류와 특징들에 대해

by 전지적진영시점 2023. 2. 17.
반응형

이번 포스팅은 안드로이드 스튜디오에서 제공하는 레이아웃 성능과 그 종류와 특징들에 대해 간단히 적겠습니다! (사용법x!)

레이아웃 성능

먼저 레이아웃은 사용자 환경에 직접적으로 영향을 미치는 앱의 핵심입니다.
이 레이아웃이 올바르지 않게 구현되면 UI가 느려져 애플리케이션의 메모리가 부족해질 수 있습니다.
따라서 앱을 개발할 때 어떤 레이아웃을 선택하느냐 그리고 계층구조를 어떻게 잘 쌓냐는
매우 중요한 포인트입니다.

레이아웃의 성능을 올릴 수 있는 방법에는

  • 레이아웃 계층 구조 최적화
  • </include>로 레이아웃 재사용

과 같은 방법이 있습니다.

레이아웃 종류와 특징

  1. Relative Layout
  2. Linear Layout
  3. Constraint Layout
  4. Frame Layout

안드로이드 개발에 사용되는 레이아웃 중 제가 자주 쓰는 레이아웃으로 4가지만 보겠습니다.

Relative Layout

RelativeLayout상대 위치에 하위 보기를 표시하는 보기 그룹입니다.

 

🎃 Relative layout는 하위 뷰를 상위 뷰 혹은 서로 다른 뷰 기준으로 뷰의 위치를 정할 수 있습니다.

 

안드로이드 개발 문서를 참고하여 공부하다보니 Layout 가이드 페이지에 위와 같은 참고사항이 적혀있습니다.

🎃 해석하면 좀 더 나은 성능과 도구지원을 위해서 constraintLayout로 빌드해야 한다고 적혀 있네요

같은 상황에서 다른 레이아웃을 사용하기 보단 Constraint Layout을 더 권장하는 것 같습니다

이 부분에 대해서는 Constraint Layout에 대해 작성할 때 이어 작성하겠습니다

 

Linear Layout

🎃 선형 레이아웃은 레이아웃 내에 있는 모든 하위 요소를 수직 또는 수평 정렬 방향을 지정할 수 있는 레이아웃입니다.

저는 이 레이아웃을 Constraint 레이아웃 다음으로 자주 사용합니다.

🎃 Linear Layout은 하위요소가 순차적으로 스택됩니다. 

 

Linear Layout의 개념에 대해서는 위 호박 이모티콘 붙어 있는 두줄만 보시면 될 것 같아요.

저는 Linear Layout을 써먹을 때 같이 사용하면 좋은 가중치에 대해 간단히 적으려합니다.

 

가중치

Linear Layout에서 뷰의 하위 요소에 가중치를 사용하면 해당 하위 요소가 뷰에서 얼만큼의 공간을 차지하게 할 지에 따라 

하위 요소에 중요도를 할당할 수 있습니다.

즉, 상위 뷰 내의 다른 하위 요소보다 큰 가중치를 사용하면 뷰 내에서 많은 공간을 차지할 수 있습니다.

기본 가중치는 0입니다.

 

Constraint Layout

🎃 이 레이아웃은 하위요소를 유연한 방식으로 배치하고 크기를 조정할 수 있습니다.

 

Constraint Layout은 뷰 내에서 동위 요소와 상위 뷰 사이의 관계에 따라 

해당 요소의 레이아웃이 결정된다는 점에서 Relative Layout과 유사하지만

Relative Layout 보다 유연합니다.

 

Frame Layout

🎃 이 레이아웃은 단일 항목을 표시하기 위해 화면의 영역을 차단하도록 설계되었습니다.

Frame Layout은 하위 뷰들끼리 겹치지 않고 하위 뷰를 구성하기가 어려울 수 있어 

단일 자식뷰를 유지하는 데 사용하는 것을 권장합니다.

 

하위 뷰는 가장 최근에 추가된 하위 요소가 맨 위에 있는 스택으로 그려집니다!

 

반응형

댓글