Simple&Natural
안드로이드에서 Coroutine과 Retrofit 및 Room을 함께 사용 시 주의사항 본문
- Retrofit에서 코루틴 사용을 위해서는 2.6.0버전 이상을 사용해야 한다.
- Room과 Retrofit은 자체적으로 비동기 처리를 하기 때문에 Main Dispatcher에서 suspend function을 사용하더라도
main-safe하다. IO Dispatcher를 사용하는 것은 아니고 자체 Dispatcher를 사용함.
Suspend function support requires Retrofit 2.6.0 or higher.
Both Room and Retrofit make suspending functions main-safe.
It's safe to call these suspend funs from Dispatchers.Main, even though they fetch from the network and write to the database.
Both Room and Retrofit use a custom dispatcher and do not use Dispatchers.IO.
Room will run coroutines using the default query and transaction Executor that's configured.
Retrofit will create a new Call object under the hood, and call enqueue on it to send the request asynchronously.
참고자료)
1. Android Codelab
'안드로이드(Android) > 기타' 카테고리의 다른 글
[Android] Retrofit + Moshi 를 이용한 Json 데이터 받아오기 (0) | 2020.10.07 |
---|---|
BottomNavigationView + Hiding On Scroll (0) | 2020.09.28 |
안드로이드 스튜디오 기본 파일 입출력 경로 (0) | 2020.08.21 |
JsonObject의 getString()과 optString()의 차이 (0) | 2020.08.12 |
안드로이드에서 RGB와 HEX 색상 표기 이해하기 (0) | 2020.08.09 |