???: DisposableEffect는 좀 구려보여요
·
Android/Compose
프로젝트를 진행하면서 Compose의 생명주기를 다루는 방식에 대해 고민하게 되는건 당연한 것 같아요.특히 안드로이드의 생명주기와 컴포저블의 생명주기가 만나는 지점에서 어떤 선택을 해야 하는지는 항상 고민이 됩니다..최근 presentation:home 모듈을 리팩터링하면서 이 문제를 깊이 있게 들여다볼 기회가 있었는데요. 그 과정에서 배운 것들을 공유하고자 합니다😊문제를 보자면앱이 백그라운드에서 다시 활성화될 때마다 알림 권한 상태를 확인해야 하는 요구사항이 있었어요. 자연스럽게 DisposableEffect를 사용했습니다.@Composablefun HomeRoute(viewModel: HomeViewModel) { val lifecycleOwner = LocalLifecycleOwner.cur..
[Android Compose] Effect Handlers 딥다이브
·
Android/Compose
안녕하세요! 최근 개발 실력이 나름 늘어간다고 생각이 들면서, 이전까지 모호하게 알고 있다고 생각이 들었던 것들에 대해 다시 기초부터 다지는 중인데요. 내가 컴포즈로 개발을 하면서 사이드 이펙트에 대해 고민을 하고 코드를 작성하고 있었나?라는 생각이 들어 정리를 해봤습니다. 다른 분들에게도 도움이 됐으면 좋겠네요!사이드 이펙트란?사이드 이펙트는 컴포저블 함수의 범위를 벗어나 외부 상태가 변경되는 작업을 말해요. 네트워크 요청, 데이터베이스 접근, 파일 시스템 조작 등이 대표적인 예시예요.왜 문제가 될까요?컴포저블 함수는 언제든지, 몇 번이든 호출될 수 있어요. 리컴포지션은 상태 변화, 부모 컴포저블의 변화, 시스템 설정 변경 등 다양한 이유로 발생하죠. 만약 컴포저블 함수 내에서 직접 네트워크 요청을 한..