이번 포스팅은 안드로이드 스튜디오에서 제공하는 레이아웃 성능과 그 종류와 특징들에 대해 간단히 적겠습니다! (사용법x!)
레이아웃 성능
먼저 레이아웃은 사용자 환경에 직접적으로 영향을 미치는 앱의 핵심입니다.
이 레이아웃이 올바르지 않게 구현되면 UI가 느려져 애플리케이션의 메모리가 부족해질 수 있습니다.
따라서 앱을 개발할 때 어떤 레이아웃을 선택하느냐 그리고 계층구조를 어떻게 잘 쌓냐는
매우 중요한 포인트입니다.
레이아웃의 성능을 올릴 수 있는 방법에는
- 레이아웃 계층 구조 최적화
- </include>로 레이아웃 재사용
과 같은 방법이 있습니다.
레이아웃 종류와 특징
- Relative Layout
- Linear Layout
- Constraint Layout
- 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은 하위 뷰들끼리 겹치지 않고 하위 뷰를 구성하기가 어려울 수 있어
단일 자식뷰를 유지하는 데 사용하는 것을 권장합니다.
하위 뷰는 가장 최근에 추가된 하위 요소가 맨 위에 있는 스택으로 그려집니다!
'개발노트 > Android' 카테고리의 다른 글
[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 2 (0) | 2023.02.17 |
---|---|
[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 1 (0) | 2023.02.17 |
[Kotlin] Custom Dialog 사용하기 (0) | 2023.02.17 |
[Kotlin] SharedPreferences 사용하기 (0) | 2023.02.17 |
Cause: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded (0) | 2022.12.13 |
댓글