Grusie 안드로이드 개발 기술 블로그

[Android] lifeCycleScope.launchedWhenCreated, Started, Resumed 대체(deprecated) 본문

안드로이드 개발/뷰

[Android] lifeCycleScope.launchedWhenCreated, Started, Resumed 대체(deprecated)

grusie 2024. 3. 26. 09:23
728x90
반응형
SMALL

개발을 하던 중 프래그먼트에서 UiState를 얻어오기 위해, 기존에 사용하던 방법대로 lifeCycleScope.launcedWhenStarted를 사용하려고 하였다.

하지만 deprecated 되었다는 메세지가 발생했다. 공식문서를 찾아보니, 메모리릭이 있을 수 있어, 더 이상 사용되지 않고, repeatOnLifeCycle에서 Lifecycle.State로 관리하라고 나와있다.

 

This function is deprecated.
launchWhenCreated is deprecated as it can lead to wasted resources in some cases. Replace with suspending repeatOnLifecycle to run the block whenever the Lifecycle state is at least Lifecycle.State.CREATED.

사용법

lifecycleScope.launch {
    repeatOnLifecycle(Lifecycle.State.STARTED){
        //사용할 코드를 입력
    }
}

 

 

참고

https://developer.android.com/reference/kotlin/androidx/lifecycle/LifecycleCoroutineScope

 

LifecycleCoroutineScope  |  Android Developers

androidx.compose.desktop.ui.tooling.preview

developer.android.com

 

반응형
LIST