Coroutine 은 비동기 프로그래밍을 위한 프로그램 구성요소이다. 루틴 또는 스레드와 유사한 개념으로, 코드의 실행을 일시 중단하고 나중에 다시 시작할 수 있는 블록이다. 이러한 일시 중단과 재개는 애플리케이션의 효율성, 성능, 및 가독성을 향상시킬 수 있다.
AppModalDrawer(drawerState, currentRoute, navActions) {
TasksScreen(
userMessage = entry.arguments?.getInt(USER_MESSAGE_ARG)!!,
onUserMessageDisplayed = { entry.arguments?.putInt(USER_MESSAGE_ARG, 0) },
onAddTask = { navActions.navigateToAddEditTask(R.string.add_task, null) },
onTaskClick = { task -> navActions.navigateToTaskDetail(task.id) },
openDrawer = { coroutineScope.launch { drawerState.open() } }
)
}
위의 코드에서 Coroutine 이 쓰인다. coroutineScope.launch를 호출하면 새로운 코루틴이 시작되고, 그 안에서 비동기 작업이 수행된다. 이렇게 하면 UI 스레드를 차단하지 않고도 비동기 작업을 처리할 수 있다.
따라서 drawerState.open()는 드로어를 열 때 사용되며 UI 스레드를 차단하지 않는다.
'Application > Android Kotlin' 카테고리의 다른 글
[Android] 4대 컴퍼넌트 (1) | 2023.12.27 |
---|---|
[Android] 데이터 저장 및 관리 (0) | 2023.12.26 |
[Kotlin] view binding 코드 해석 (var, val, lateinit, nullable) (1) | 2023.12.21 |
[Android] Activity 와 Fragment 의 차이 (0) | 2023.12.20 |
[Android] quick-start android (AndroidManifest.xml 분석) (0) | 2023.12.19 |