Coroutines/Coroutine Basics

[Coroutine] 2. Coroutine 안드로이드에서 사용하기

반응형

Coroutine with Kotlin

코틀린에서 코루틴의 기능이 언어 내에 내장되어 있다. 따라서 코틀린을 사용하도록 Gradle을 설정한다면 별도의 설정 없이 일반적인 코루틴을 사용할 수 있게 된다.

 

하지만, 안드로이드에서 코루틴(Coroutine)을 사용하기 위해서는 안드로이드의 런타임을 위한 라이브러리를 세팅해주어야 한다.

 

Android App 수준 모듈에 추가해야 할 라이브러리

두 개의 라이브러리(coroutine-core, coroutine-android)를 앱 수준의 gradle에 세팅하면 안드로이드에서 코루틴을 사용하기 위한 기본적인 세팅이 완료된다.

 

coroutines-core 라이브러리는 코루틴을 사용하기 위한 공통적인 라이브러리이다. 보통의 어플리케이션의 경우 이 라이브러리만 있으면 된다.

 

안드로이드에 coroutines-android가 추가적으로 필요한 이유는 안드로이드는 스레드를 일반적인 jvm 어플리케이션과 다르게 사용하기 때문이다. 또한 안드로이드 어플리케이션은 Main Thread에서 충돌이 일어나게 되면 강제로 종료되는데 이러한 강제 종료가 일어나기 전 예외를 처리하기 위해 별도의 android용 coroutine 라이브러리인 coroutines-android가 필요하다. 

 

아래의 두개의 라이브러리를 앱 수준의 Gradle에 세팅한다.

dependencies {
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1'

    ..
}
  • org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1 : Coroutine을 사용하기 위한 기본적인 라이브러리
  • org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1 : 안드로이드 런타임을 위한(스레드를 제어하기 위한) 라이브러리

 

안드로이드용 코루틴을 학습하기에 앞서

코루틴은 사용하기 간편하다. 하지만, 코루틴 또한 동시성을 다루는 도구인 만큼 대해 제대로 모르고 사용을 하게될 경우 데이터의 손실이 일어날 수 있게 되며, 제대로 오류를 처리하지 않거나 메인 스레드가 너무 오래 블로킹 될 경우 앱의 강제 종료를 유발할 수 있다.

 

따라서 제대로 학습한 다음 사용하는 것이 중요하다. 지금부터 안드로이드 환경에서 코루틴 학습을 시작해보자.

 

반응형