DataStore 및 동기 작업

Jetpack DataStore 시리즈 의 다음 게시물에서는 DataStore가 다른 API와 상호 작용하는 방식을 이해하기 위한 몇 가지 추가 개념을 다루므로 프로덕션 환경 에서 사용할 수 있는 모든 것을 사용할 수 있습니다 . 이 게시물에서는 특히 DataStore와 동기 작업 을 수행하는 데 중점을 둘 것입니다 . 코드 샘플 은 Preferences codelab 을 참조합니다 .

동기 작업 수행

이 시리즈 전체에서 DataStore의 완전 비동기식 API 에 대해 언급했는데 Kotlin 코루틴 및 Flow 의 내부 사용에서 비롯되었습니다 . 더 많은 I/O 작업이 UI 스레드에서 수행될 때 잠재적인 ANR 및 UI 버벅거림을 방지하기 위해 DataStore 는 즉시 사용 가능한 동기 지원을 제공하지 않습니다 . DataStore는 데이터 세트를 파일에 저장하고 내부적으로는 달리 지정하지 않는 한 에 대한 모든 데이터 작업을 수행 Dispatchers.IO하여 UI 스레드가 차단되지 않은 상태로 유지합니다. 이 API 구조는 이전 버전에 비해 DataStore 의 주요 이점SharedPreferences 중 하나이며 대부분의 경우 DataStore를 사용하는 방법입니다.

그러나 코드에서 DataStore와 동기적으로 작업해야 하는 경우 메인 스레드에서 실행 중인 다른 API에 대한 종속성 때문인지 또는 현재 설정에서 UI 설정을 위해 일부 지속된 값을 검색해야 하는지 여부에 관계없이 runBlocking()코루틴 을 사용할 수 있습니다. DataStore를 동기적 으로 읽는 빌더 . DataStore가 다음을 반환할 때까지 호출 스레드 를 차단합니다.

이 접근 방식을 사용해야 하는 상황에 처했다면 시간을 들여 메인 스레드를 차단하는 것이 절대적으로 필요한지 알아내십시오 . 예를 들어 데이터를 비동기식으로 미리 로드하여 제공된 DataStore 비동기식 대안 을 사용 하거나 현재 코드를 리팩터링하여 방지 할 수 있는 방법을 생각해 보십시오 .runBlocking()

이것이 가능하지 않은 경우 오류 처리, 취소 및 시간 초과 또는 사용자 경험을 최대한 원활하게 만들기 위한 멋진 시각적 요소로 모든 잠재적인 UI 버벅거림 시나리오를 처리해야 합니다.

계속

DataStore로 동기 작업 을 수행하는 방법을 다루었습니다 . 이것은 DataStore에 권장되는 접근 방식은 아니지만 현재 설정에서 동기 호출을 해야 하는 경우 연산자 .runBlocking()와 결합하여 사용할 수 있습니다..first()

DataStore에서 DataStore로 마이그레이션 을 수행하는 방법을 살펴보는 시리즈의 다음 게시물에 참여하세요 .

Jetpack DataStore 시리즈의 모든 게시물은 여기에서 찾을 수 있습니다.
Jetpack DataStore 소개
Preferences DataStore
에 관한 모든 Proto DataStore
DataStore 및 종속성 주입
DataStore 및 Kotlin 직렬화
DataStore 및 동기 작업
DataStore 및 데이터 마이그레이션
DataStore 및 테스트

Suggested posts

취하기의 아이의 첫 번째 책

취하기의 아이의 첫 번째 책

(경고- 이것은 유쾌하게 전복하려는 풍자입니다. 절대 어린이용이 아닙니다.) 당신은 엄마와 아빠가 부엌에 숨어서 그 냄새나는 담배를 피우는 것을 본 적이 있습니다. 그들은 당신에게 말합니다.

무한한 삶

당신이 자라면 세상은 있는 그대로이고 당신의 삶은 단지 세상 안에서 당신의 삶을 사는 것이며, 결코 당신의 생명을 위험에 빠뜨리지 않고, 정해진 길을 따르고 결국 죽고, 벽을 너무 세게 치세요.하지만 그것은 매우 제한된 삶입니다.

Related posts

빨간 머리 소녀의 솔로 퍼포먼스

Hayden의 임무를 맡은 Katie는 자위하는 자신을 촬영합니다.

빨간 머리 소녀의 솔로 퍼포먼스

Hayden이 함께 저녁을 보낸 후 Katie를 대학 기숙사로 데려다 준 것은 자정 이후였습니다. 그녀는 아침에 일찍 수업이 있었고 전날 밤 그와 함께 지낸 후 다시 옷을 갈아입지 않았습니다.

"마리아나 해구 공개: 심연의 무서운 숨겨진 진실 공개"

"마리아나 해구 공개: 심연의 무서운 숨겨진 진실 공개"

소개:용감한 독자 여러분, 지구의 가장 어두운 곳으로 우리를 데려다 줄 여행에 오신 것을 환영합니다. 이 블로그에서 우리는 Mariana Trench의 수수께끼 같은 세계를 탐구하여 숨겨진 비밀을 밝히고 그 표면 아래에 있는 뼛속까지 오싹해지는 진실을 밝혀냅니다.

기다림의 계절에 할 수 있는 것(기술 분야에서 첫 직장을 얻기 위해 기다림)

기다림의 계절에 할 수 있는 것(기술 분야에서 첫 직장을 얻기 위해 기다림)

새로운 직업으로 전환하는 것은 혼자서 하려고 한다면 매우 어려울 수 있습니다. 귀하와 동일한 학습 수준에 있고 유사한 목표, 끈기 및 추진력을 공유하는 책임 파트너를 찾는 것이 중요합니다.

Work Week에서의 학습은 생각보다 중요합니다.

Work Week에서의 학습은 생각보다 중요합니다.

우리는 종종 우리에게 좋다고 알고 있는 것을 구현하는 데 어려움을 겪고 있습니다. 중요한 다른 사람에게 우리가 그들을 사랑한다고 말하는 것부터 해적처럼 이야기하는 것을 기억하는 것까지, 그들이 이미 그런 일을 하고 있기 때문에 하루, 일주일 또는 한 달의 이벤트가 필요하지 않다고 주장하는 사람들이 항상 있을 것입니다.