사용 케이스
- 이벤트 리스너를 등록하고 제거할 때
- 애니메이션을 시작하고 정지 할 때
- 카메라와 LocationManager와 같이 센서 리소스를 바인딩 또는 언바인딩 할 때
- DB 연결을 관리 할 때
사용 케이스
- 네트워크로부터 데이터를 가져 올 때
- 이미지 프로세싱을 수행 할 때
- DB를 업데이트 할 때
사용 케이스
- 로깅 및 분석을 위한 코드를 사용 할 때
- 블루투스 장치에 연결을 하기 위하여 한번 초기화를 진행 할 때
- 파일로부터 데이터를 최초 한번 로딩 할 때
- 라이브러리를 초기화 할 때
SideEffect, DisposableEffect , LaunchedEffect 의 주요 차이점 요약
- SideEffect 은 상위 컴포저블이 재구성 될 때 실행되며 컴포저블의 상태나 속성에 의존하지 않는 작업을 실행하는데 유용
- DisposableEffect 는 상위 컴포저블이 처음 렌더링 될 때 실행되며 컴포저블이 더 이상 사용되지 않을 때 정리가 필요한 리소스를 관리하는 데 유용합니다. 첫 번째 컴포지션 또는 키가 변경 될 때 트리거 되며 종료 시 onDispose() 메소드를 호출합니다.
- LaunchedEffect 는 별도의 코루틴 스코프에서 부수효과를 실행하며 UI 쓰레드를 차단하지 않고 시간이 오래 걸리는 작업을 실행하는 데 유용합니다. 첫 번째 컴포지션이나 키가 변경 시 트리거 됩니다.
아 이건 좀 ...