본문 바로가기

Jetpack Compose3

[Android] Compose 성능 개선 - Compose Compiler Metrics Report와 Restartable, Skippable 안드로이드 개발을 하시는 분이라면 Compose로 개발을 하고 계시거나 개발할 계획이 있을 것입니다.Compose는 안드로이드 앱에서 UI를 만들기 위해 사용하는 도구이기 때문에, 사용자에게 안정적이고 빠른 화면을 보여주기 위해 성능을 고려해야 합니다.이를 위해선 Compose가 어떻게 동작하는지에 대한 이해, 그리고 그 이해를 바탕으로 효과적으로 동작할 수 있도록 코드를 작성하는 것이 중요할 것입니다.하지만 나름대로 이해도 해보고 잘 작성했다고 하더라도 실제로 잘 한게 맞는지를 확인하기 위해선 어떤 지표를 확인하는게 좋겠죠.이 포스팅에선 지표를 확인하고 이해해보는 것을 다루겠습니다. Compose Compiler Metrics ReportUI를 효율적으로 작성한다는 것은 그려내는 시간을 단축하는 것도 .. 2025. 2. 17.
[Android] Jetpack Compose - Layout으로 커스텀 레이아웃 만들기 프로젝트 진행 중에 커스텀 레이아웃이 필요했습니다.스크롤이 가능한 Column에서 staggered layout이 필요했는데, LazyVerticalStaggeredGrid을 사용하기엔 중첩 스크롤 문제가 발생했기 때문입니다.그래서 이러한 상황에서 사용 가능한 staggered layout을 구현하기로 했습니다.이를 위해 커스텀 레이아웃을 구현하기 위해 기본적으로 이해가 필요한 부분이 있었기 때문에 이에 대해 포스팅합니다. LayoutCompose에서 기본적으로 제공하고 있는 Scaffold, Surface, Column, Row 등은 Layout를 기본적으로 사용하여 구현되어 있습니다.다음은 하나의 예로, Column 컴포저블 함수의 코드입니다.@Composableinline fun Column( .. 2025. 2. 2.
[Android/안드로이드] Jetpack Compose - Stability와 Recomposition 그리고 최적화 Jetpack Compose가 정식으로 출시된 이후, 많은 개발자들이 관심을 갖고 사용하고 있습니다.또한 Jetpack Compose 역시도 많은 업데이트가 있었고, 앞으로도 그럴 것이라 예상이 됩니다.다양한 사용 사례가 나타나면서 선언형 UI 프로그래밍 방식은 익숙해지거나, 익숙해지기 쉬운 환경들이 만들어졌다고 생각합니다.우리는 이제 "효율적으로" Compose를 사용하는 방법을 알아가고 익힐 필요가 있습니다.Jetpack Compose를 어떻게 효율적으로 사용할 수 있을까요?UI의 입장에서 "효율적이다" 를 생각해보면 의외로 답은 간단할 수 있습니다.우리가 XML 방식으로 UI를 구현할 때, 어떻게 효율적인 코드를 작성하는지 생각해봅시다.여러가지가 떠오를 수 있는데, 저는 "불필요한 UI 업데이트가 .. 2024. 6. 27.
반응형