본문 바로가기

728x90
반응형

coroutine

8/29 read post 1. 출처 : https://proandroiddev.com/misconception-about-kotlin-jvmoverloads-for-android-view-creation-cb88f432e1fe 제목 : Misconception about Kotlin @JvmOverloads for Android View Creation 요약 : android custom view 생성시 ‘@JvmOverloads’ 를 사용하는데, 이 때 context 와 AttributeSet 만 있는 기본 생성자만 제공하면 되고 defStyleAttr 및 기본값을 제공할 필요가 없다고 설명합니다. 그 이유를 그림으로 설명합니다. 2. 출처 : 코틀린 플로우 내부 살펴보기 2 제목 : 코틀린 플로우 내부 살펴보기 2 요약 : .. 더보기
Understand Android Lifecycle Aware Coroutine Scope Made Easy 출처 : https://medium.com/mobile-app-development-publication/understand-android-lifecycle-aware-coroutine-scope-made-easy-f86d13d16f0e Kotlin Coroutine을 사용하려면 적절한 scope 를 정의해야 합니다. 까다로운 부분은 생성하고 중지하는 것을 기억해야 한다는 것입니다. 이를 고려하여 Google Android 개발 팀은 수명 주기를 인식하는 몇 가지 Coroutine scope 를 제공했습니다. 예제에서 Activity에 lifecycleScope를 사용하면 Fragment에 viewLifecycleOwner.lifecycleScope가 사용됩니다. Fragment 체크아웃에 대해 구체적으.. 더보기
async and await launch() 함수는 코루틴 종료를 기다리거나 취소하는 데 사용할 수 있는 Job 객체를 반환합니다. 그러나 launch()를 사용하여 시작된 코루틴에서 결과를 반환할 방법이 없습니다. 작업을 비동기적으로 실행하고 응답을 받으려면 launch() 대신 async()를 사용하십시오. async() 함수는 launch()와 동일한 매개변수를 사용하므로 동일한 방식으로 async() 및 launch()를 사용하여 생성된 코루틴의 context 및 start 속성을 구성할 수 있습니다. 그러나 차이점은 async()가 다른 메서드 중에서 코루틴, 취소 등의 상태를 확인하기 위해 await() 메서드가 있는 Deferred future 객체를 반환한다는 것입니다. wait() 호출은 실행 흐름을 차단하지만 실행.. 더보기

728x90
반응형