반응형
Android 앱 개발에서 SharedPreferences의 대체제로 사용되는 Jetpack DataStore는 지속적인 업데이트를 통해 안정성과 성능을 개선해왔습니다. 이번 글에서는 DataStore 1.1.1 → 1.1.7까지의 변경 사항을 버전별로 정리하고, 이전 버전과 비교해 어떤 점이 달라졌는지, 어떤 상황에서 업그레이드를 고려해야 하는지를 설명합니다.
DataStore란?
DataStore는 Jetpack에서 제공하는 비동기식 데이터 저장 솔루션입니다.
- SharedPreferences보다 안정적이며,
- Flow 기반으로 데이터 변경을 옵저빙할 수 있고,
- Preference DataStore와 Proto DataStore 두 가지 타입을 지원합니다.
AndroidX DataStore 1.1.1 → 1.1.7 변경 요약
버전
버전 | 릴리즈 날짜 | 주요 변경 사항 |
1.1.1 | (미공개, 2024년 말 추정) | 옵저버 없을 시 update 무시 (성능 향상) |
1.1.2 | 2025년 4월 24일 | 멀티프로세스 안정성 개선 |
1.1.3 ~ 1.1.5 | 2025년 상반기 | 내부 버그 수정 및 빌드 호환성 개선 |
1.1.6 | 2025년 6월 13일 | Gradle 빌드 환경 안정성 향상 |
1.1.7 | 2025년 6월 20일 | Proguard 설정 누락 문제 해결 |
📌 DataStore 1.1.1 업데이트 내용
변경 사항 요약
- 옵저버가 없으면 Flow 데이터 변경 감지 생략
- 성능 최적화를 위한 내부 개선
장점
- 불필요한 연산 최소화 → 앱 성능 향상
- Flow 처리 비용 감소
주의점
- 기존 테스트 코드에서 expecting emissions 관련 실패 발생 가능
예시 코드
val Context.dataStore by preferencesDataStore(name = "settings")
val countFlow: Flow<Int> = context.dataStore.data
.map { it[intPreferencesKey("count")] ?: 0 }
📌 DataStore 1.1.2 업데이트 (2025년 4월 24일)
핵심 개선
- 멀티프로세스 환경에서의 동시성 문제 해결
- Android 14 이상의 프로세스 분리 구조에 맞게 개선
기대 효과
- 크래시 위험 감소
- 데이터 동기화 정확도 향상
📌 DataStore 1.1.3 ~ 1.1.5 (마이너 업데이트)
주된 변경 사항
- 지속적인 내부 버그 수정
- Kotlin/Gradle 최신 환경 대응
- ProtoDataStore 오류 처리 개선
개발자에게 미치는 영향
- 기능 추가는 없지만, 안정성 개선으로 인해 중장기적으로 중요
📌 DataStore 1.1.6 (2025년 6월 13일 릴리즈)
주요 개선점
- 빌드 안정성 강화 (AGP 8.7+, Kotlin 2.1.0 대응)
- Proguard, R8, AGP 관련 경고 제거
정리
- 최신 Android 개발 환경 대응을 위한 필수 업데이트
✅ DataStore 1.1.7 (2025년 6월 20일 릴리즈)
핵심 변경 내용
- datastore-preferences-core에 Proguard 룰이 누락되어 있던 문제 해결
- 릴리즈 빌드에서 ClassNotFoundException, NoSuchMethodException 등의 예외 방지
추천 대상
- Proguard 혹은 R8을 사용하는 모든 프로젝트
- 난독화 빌드에서 안정성 확보 필요할 경우
예시 Proguard 추가 불필요
# 더 이상 수동으로 추가할 필요 없음
-keep class androidx.datastore.** { *; }
📌 버전별 비교 요약 테이블
버전 | 변경 사항 요약 | 추천 상황 |
1.1.1 | 옵저버 최적화 | 성능 개선 필요 시 |
1.1.2 | 동시성 문제 개선 | 멀티프로세스 환경 앱 |
1.1.3~5 | 안정성 및 버그 패치 | 전체 프로젝트 대상 |
1.1.6 | AGP / Kotlin 최신 대응 | 최신 개발 환경 필수 |
1.1.7 | Proguard 대응 강화 | 릴리즈 빌드 오류 방지 필요 시 |
🔚 마무리: DataStore 버전업이 필요한 시점은?
DataStore는 내부적으로 안정성을 크게 개선하면서도, 외부 API는 대부분 호환을 유지하고 있어 업그레이드에 대한 부담이 적습니다.
- 1.1.1 → 1.1.2 이상으로 꼭 올릴 것: 테스트 및 다중 프로세스 안정화
- Proguard 사용 시 1.1.7 권장: 릴리즈 빌드 시 오류 방지
- Kotlin 2.1.0 / AGP 8.7+ 환경 대응: 1.1.6 이상 필수
🔗 참고 링크
반응형
'Updates.' 카테고리의 다른 글
AndroidX Core KTX 1.15.0 → 1.16.0 업데이트 총정리: 변경사항, 예제 및 마이그레이션 팁 (0) | 2025.06.26 |
---|---|
Kotlin 2.1.0부터 2.1.10까지 주요 업데이트 총정리 (버전별 변경 사항) (0) | 2025.06.26 |
Navigation Compose 2.8.8 -> 2.8.9 변경 사항 및 적용 방법 (2) | 2025.03.25 |
🚀 Jetpack Compose BOM 2025.03.00 업데이트 정리 및 변경 사항 분석 (0) | 2025.03.25 |
Jetpack Compose UI 1.7.8 업데이트 상세 분석 (0) | 2025.02.15 |