deepdive
-
lifecycleScope 와 viewModelScope 는 어떤 원리로 생명주기에 맞춰 코루틴을 취소하고 있을까?Android 2025. 4. 5. 00:00
안녕하세요. Mash-Up 15기 Android 팀으로 활동하고 있는 전계원입니다.Android 에서는 Activity / Fragment / ViewModel 에서 Coroutine 을 생명주기에 맞게 사용하기 위해, lifecycleScope.launch { } 혹은 viewModelScope.launch { } 를 활용하고 있습니다. 그런데 lifecycleScope 와 viewModelScope 는 어떤 원리로 생명주기에 맞춰 코루틴을 취소하고 있을까요? 생명주기에 맞게 Coroutine 을 관리하는 원리가 궁금하였고, 본 포스팅을 통해 이러한 것들이 어떻게 가능했던 것인지 분석한 내용을 공유드리고자 합니다. 1. lifecycleScope 는 어떤 원리로 생명주기에 맞춰 코루틴을 취소하..
-
Jetpack Datastore 이해하기Android 2024. 5. 22. 22:41
안녕하세요. Mash-Up 14기 Android 팀으로 활동하고 있는 전계원입니다.Android 에는 앱 내 저장소에 정보를 key-value 기반으로 저장하기 위해 SharedPreferences 가 존재합니다.하지만 요즘은 SharedPreferences 대신 Datastore 을 많이 사용하고 있습니다. 그런데 여러분들은 SharedPreferences 대신 Datastore 를 사용하는 이유는 무엇인가요? Async API 제공? Type Safety? Runtime Exception 방지? 그럼 Datastore 는 어떻게 이러한 장점들을 누릴 수 있는 걸까요? Datastore 관련하여 이와 같은 궁금증이 생겼고, 이를 위해 Datastore 에 대해 공부했던 내용을 이번 포스팅을 ..