수명 주기
최근 업데이트 | 현재 안정화 버전 | 다음 버전 후보 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2020년 8월 19일 | 2.2.0 | - | - | 2.3.0-alpha07 |
종속 항목 선언
Lifecycle의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Kotlin
dependencies { def lifecycle_version = "2.2.0" def arch_version = "2.1.0" // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" // LiveData implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" // Lifecycles only (without ViewModel or LiveData) implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" // Saved state module for ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version" // Annotation processor kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" // alternately - if using Java8, use the following instead of lifecycle-compiler implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" // optional - helpers for implementing LifecycleOwner in a Service implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version" // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version" // optional - ReactiveStreams support for LiveData implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version" // optional - Test helpers for LiveData testImplementation "androidx.arch.core:core-testing:$arch_version" }
자바
dependencies { def lifecycle_version = "2.2.0" def arch_version = "2.1.0" // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" // LiveData implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version" // Lifecycles only (without ViewModel or LiveData) implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version" // Saved state module for ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version" // Annotation processor annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version" // alternately - if using Java8, use the following instead of lifecycle-compiler implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" // optional - helpers for implementing LifecycleOwner in a Service implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version" // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version" // optional - ReactiveStreams support for LiveData implementation "androidx.lifecycle:lifecycle-reactivestreams:$lifecycle_version" // optional - Test helpers for LiveData testImplementation "androidx.arch.core:core-testing:$arch_version" }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참조하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 만들기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 표를 추가할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참조하세요.
버전 2.3.0
버전 2.3.0-alpha07
2020년 8월 19일
androidx.lifecycle:lifecycle-*:2.3.0-alpha07
이 출시되었습니다. 버전 2.3.0-alpha07에 포함된 커밋을 확인하세요.
버그 수정
NullSafeMutableLiveData
린트 검사에서 발생하는 비정상 종료 문제가 수정되었습니다. (aosp/1395367)
버전 2.3.0-alpha06
2020년 7월 22일
androidx.lifecycle:lifecycle-*:2.3.0-alpha06
가 출시되었습니다. 버전 2.3.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 특정
State
와 전환 방향을 고려하여Event
를 생성하도록downFrom(State)
,downTo(State)
,upFrom(State)
,upTo(State)
의 정적 도우미 메서드가Lifecycle.Event
에 추가되었습니다.Event
에 따라 수명 주기에서 직접 전환하는State
를 제공하는getTargetState()
메서드가 추가되었습니다. (I00887) - 수명 주기 상태를 대기하고 상태 변경 지점에서 정지되지 않는 코드 블록을 동기식으로 실행한 후 그 결과로 다시 시작하는
Lifecycle.withStateAtLeast
API를 추가했습니다. 이러한 API는 정지된 코드 실행을 허용하지 않고 맞춤 디스패처를 사용하지 않으므로 기존의when*
메서드와 다릅니다. (aosp/1326081)
동작 변경사항
- 이제 LifecycleRegistry는
DESTROYED
를 터미널 상태로 적용합니다. (I00887) - 이제
LifecycleRegistry
는 메서드가 기본 스레드에서 호출되는지 확인합니다. 이는 항상 활동, 프래그먼트 등의 수명 주기 요구사항이었습니다. 기본 스레드가 아닌 스레드에서 관찰자를 추가하면 런타임 시 비정상 종료를 발견하기가 어려웠습니다. 자체 구성요소에서 소유한LifecycleRegistry
객체의 경우LifecycleRegistry.createUnsafe(...)
를 사용하여 검사를 명시적으로 선택 해제할 수 있습니다. 하지만, 이LifecycleRegistry
를 서로 다른 스레드에서 액세스할 때 적절한 동기화가 설정되었는지 확인해야 합니다. (Ie7280, b/137392809)
버그 수정
NullSafeMutableLiveData
에서 발생하는 비정상 종료 문제를 수정했습니다. (b/159987480)lifecycle-livedata-core-ktx
(특히NullSafeMutableLiveData
)와 함께 번들로 제공되는 Lint 검사의ObsoleteLintCustomCheck
가 수정되었습니다. (b/158699265)
버전 2.3.0-alpha05
2020년 6월 24일
androidx.lifecycle:lifecycle-*:2.3.0-alpha05
가 출시되었습니다. 버전 2.3.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- 이제
LiveData
에서onActive()
또는onInactive()
의 중복 호출을 방지하여 재진입 사례를 더 잘 처리합니다. (b/157840298) - Android 스튜디오 4.1 Canary 6 이상을 사용할 때 Lint 검사가 실행되지 않는 문제가 수정되었습니다. (aosp/1331903)
버전 2.3.0-alpha04
2020년 6월 10일
androidx.lifecycle:lifecycle-*:2.3.0-alpha04
가 출시되었습니다. 버전 2.3.0-alpha04에 포함된 커밋을 확인하세요.
버그 수정
NonNullableMutableLiveData
린트 검사의 비정상 종료 문제가 수정되었습니다. (b/157294666)- 이제
NonNullableMutableLiveData
린트 검사에서 null이 아닌 유형 매개변수를 사용하여MutableLiveData
에null
값이 설정된 경우를 훨씬 더 많이 처리합니다. (b/156002218)
버전 2.3.0-alpha03
2020년 5월 20일
androidx.lifecycle:lifecycle-*:2.3.0-alpha03
이 출시되었습니다. 버전 2.3.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
SavedStateHandle
이 개발자가 주어진 키에setSavedStateProvider()
를 호출하도록 허용하여 지연 직렬화를 지원하므로SavedStateHandle
에 상태 저장을 요청할 때saveState()
콜백을 가져오는SavedStateProvider
를 제공합니다. (b/155106862) - 새로운
ViewTreeViewModelStoreOwner.get(View)
API를 사용하면View
인스턴스가 지정된 포함ViewModelStoreOwner
를 검색할 수 있습니다. Activity1.2.0-alpha05
, Fragment1.3.0-alpha05
, AppCompat1.3.0-alpha01
로 업그레이드하여 올바르게 채워야 합니다.findViewModelStoreOwner()
Kotlin 확장 프로그램이lifecycle-viewmodel-ktx
에 추가되었습니다. (aosp/1295522)
버그 수정
- Lifecycle
2.3.0-alpha01
에서 출시된MutableLiveData
린트 검사가lifecycle-livedata-core-ktx
아티팩트와 함께 게시되지 않는 문제가 수정되었습니다. (b/155323109)
버전 2.3.0-alpha02
2020년 4월 29일
androidx.lifecycle:lifecycle-*:2.3.0-alpha02
버전이 출시되었습니다. 버전 2.3.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- Application 인스턴스를 곧바로 사용할 수 없고
AndroidViewModel
지원이 필요하지 않은 사례를 더 효과적으로 지원하기 위해 이제SavedStateViewModelFactory
생성자에 nullApplication
을 전달할 수 있습니다. (aosp/1285740)
버그 수정
- API 28 이하 기기에서 클래스 인증 실패를 방지하여 콜드 스타트 성능을 개선했습니다. (aosp/1282118)
버전 2.3.0-alpha01
2020년 3월 4일
androidx.lifecycle:lifecycle-*:2.3.0-alpha01
가 출시되었습니다. 버전 2.3.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 새로운
ViewTreeLifecycleOwner.get(View)
API를 사용하면View
인스턴스가 지정된 포함LifecycleOwner
를 검색할 수 있습니다. Activity1.2.0-alpha01
및 Fragment1.3.0-alpha01
로 업그레이드하여 올바르게 채워야 합니다.lifecycle-runtime-ktx
에서findViewTreeLifecycleOwner
Kotlin 확장 프로그램을 사용할 수 있습니다. (aosp/1182361, aosp/1182956) - Kotlin에서 null이 아닌 값으로 정의된
MutableLiveData
에서null
값을 설정할 경우 경고하는 새로운 린트 검사가 추가되었습니다. 이 검사는livedata-core-ktx
또는livedata-ktx
아티팩트 사용 시에 사용할 수 있습니다. (aosp/1154723, aosp/1159092) LifecycleOwner
를 구현하는TestLifecycleOwner
와 스레드로부터 안전한 변경 가능Lifecycle
을 제공하는 새로운lifecycle-runtime-testing
아티팩트를 사용할 수 있습니다. (aosp/1242438)
버그 수정
- 이제
lifecycle-runtime
아티팩트에 고유한 패키지 이름이 있습니다. (aosp/1187196)
버전 2.2.0
ViewModel-Savedstate 버전 2.2.0
2020년 2월 5일
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0
가 출시되었습니다. 버전 2.2.0에 포함된 커밋을 확인하세요.
이제 Lifecycle ViewModel SavedState는 다른 Lifecycle 아티팩트와 동일한 버전을 공유합니다. 2.2.0
의 동작은 1.0.0
의 동작과 동일합니다.
버전 2.2.0
2020년 1월 22일
androidx.lifecycle:lifecycle-*:2.2.0
가 출시되었습니다. 버전 2.2.0에 포함된 커밋을 확인하세요.
2.0.1 이후 중요 변경사항
- Lifecycle 코루틴 통합: 새로운
lifecycle-runtime-ktx
아티팩트가 Lifecycle 코루틴과 Kotlin 코루틴 간의 통합을 강화시켜줍니다. 또한 코루틴을 활용할 수 있도록lifecycle-livedata-ktx
도 확장되었습니다. 세부정보는 아키텍처 구성요소와 함께 Kotlin 코루틴 사용을 참조하세요. ViewModelProviders.of()
지원 중단:ViewModelProviders.of()
가 지원 중단되었습니다.Fragment
또는FragmentActivity
를 새로운ViewModelProvider(ViewModelStoreOwner)
생성자에 전달하면 Fragment1.2.0
을 사용할 때의 기능을 그대로 이용할 수 있습니다.lifecycle-extensions
아티팩트 지원 중단: 위의ViewModelProviders.of()
지원 중단과 함께 이 버전에서는lifecycle-extensions
의 마지막 API를 지원 중단으로 표시했기 때문에 이제 이 아티팩트는 완전히 지원 중단된 것으로 간주해야 합니다.lifecycle-extensions
의 향후2.3.0
출시가 없기 때문에lifecycle-extensions
대신 필요한 특정 Lifecycle 아티팩트(예를 들어LifecycleService
를 사용 중일 때는lifecycle-service
,ProcessLifecycleOwner
를 사용 중일 때는lifecycle-process
)를 사용할 것을 권장합니다.- Gradle 증분 주석 프로세서: Lifecycle의 주석 프로세서는 기본적으로 증분입니다.
자바 8 프로그래밍 언어로 작성한 앱에서는
DefautLifecycleObserver
를 대신 사용할 수 있습니다. 자바 7 프로그래밍 언어로 작성한 경우에는LifecycleEventObserver
를 사용할 수 있습니다.
버전 2.2.0-rc03
2019년 12월 4일
androidx.lifecycle:lifecycle-*:2.2.0-rc03
가 출시되었습니다. 버전 2.2.0-rc03에 포함된 커밋을 확인하세요.
버그 수정
ViewModelStore
에 저장된 모의ViewModel
이 나중에 기본 팩토리로 쿼리되는 경우에 발생하는 오류가 해결되었습니다.- 수명 주기 이벤트 동안 동기적으로 호출되는
launchWhenCreated
와 이와 유사한 메서드에서Dispatchers.Main.immediate
의 사용 방법이 수정되었습니다. (aosp/1156203)
외부 기여
- 수정에 도움을 준 앤더스 얄버그 씨께 감사드립니다. (aosp/1156203)
- 인라인 실행 구현 상태를 검토한 Jetbrains의 세볼롯 톨스토피야토프 씨께 감사드립니다.
종속 항목 변경사항
- Lifecycle 확장 프로그램은 이제 Fragment
1.2.0-rc03
에 종속됩니다.
버전 2.2.0-rc02
2019년 11월 7일
androidx.lifecycle:lifecycle-*:2.2.0-rc02
버전이 출시되었습니다. 버전 2.2.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- 타겟 API가 29 미만일 때 API 28 이상을 실행하는 기기에 영향을 주는 라이브러리의 ProGuard 설정 관련 버그가 수정되었습니다. b/142778206을 참조하세요.
버전 2.2.0-rc01
2019년 10월 23일
androidx.lifecycle:lifecycle-*:2.2.0-rc01
버전이 출시되었습니다. 버전 2.2.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
launchWhenCreated
및 관련 메서드가Dispatchers.Main.immediate
대신Dispatchers.Main
을 사용하여 연결된 수명 주기 메서드보다 한 프레임 늦게 실행되는 문제가 수정되었습니다. aosp/1145596을 참조하세요.
외부 기여
- 수정에 도움을 준 니클라스 안스만 씨께 감사드립니다. aosp/1145596을 참조하세요.
버전 2.2.0-beta01
2019년 10월 9일
androidx.lifecycle:lifecycle-*:2.2.0-beta01
버전이 출시되었습니다. 버전 2.2.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
- Lifecycle 2.2.0-alpha05에 도입되어 Android 10 기기에서
ProcessLifecycleOwner
및 활동의LifecycleOwner
가 시작됨 및 재개됨으로 이동하는 순서 지정과 관련하여 발생하는 회귀 문제가 수정되었습니다. aosp/1128132를 참조하세요. - Lifecycle
2.2.0-alpha05
에 도입되어lifecycle-process
의2.0.0
또는2.1.0
버전을 사용할 때NullPointerException
이 발생하는 회귀 문제가 수정되었습니다. b/141536990을 참조하세요.
버전 2.2.0-alpha05
2019년 9월 18일
androidx.lifecycle:lifecycle-*:2.2.0-alpha05
버전이 출시되었습니다. 버전 2.2.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- 코루틴 LiveData 빌더의 경합 상태가 수정되었습니다. b/140249349를 참조하세요.
버전 2.2.0-alpha04
2019년 9월 5일
androidx.lifecycle:lifecycle-*:2.2.0-alpha04
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이제
liveData
의lifecycleScope
,whenCreated
,whenStarted
,whenResumed
,viewModelScope
및 기본 구현은Dispatchers.Main
대신Dispatchers.Main.immediate
를 사용합니다. b/139740492를 참조하세요.
외부 기여
Dispatchers.Main.immediate
로의 이전에 도움을 준 니클라스 안스만 씨께 감사드립니다. aosp/1106073을 참조하세요.
버전 2.2.0-alpha03
2019년 8월 7일
androidx.lifecycle:lifecycle-*:2.2.0-alpha03
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
ViewModelStoreOwner
의 구현은 이제HasDefaultViewModelProviderFactory
를 선택적으로 구현하여 기본ViewModelProvider.Factory
를 제공할 수 있습니다. 이 구현은 Activity1.1.0-alpha02
, Fragment1.2.0-alpha02
및 Navigation2.2.0-alpha01
에서 완료되었습니다. aosp/1092370 및 b/135716331을 참조하세요.
API 변경사항
ViewModelProviders.of()
가 지원 중단되었습니다.Fragment
또는FragmentActivity
를 새ViewModelProvider(ViewModelStoreOwner)
생성자에 전달하면 동일한 기능을 실행할 수 있습니다. aosp/1009889를 참조하세요.
버전 2.2.0-alpha02
2019년 7월 2일
androidx.lifecycle:*:2.2.0-alpha02
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
LiveDataScope.initialValue
는liveData
블록의 현재 생성된 값을 추적하는LiveDataScope.latestValue
로 대체되었습니다.timeout
매개변수를Duration
유형으로 수신하는liveData
빌더에 새 오버로드가 추가되었습니다.
버전 2.2.0-alpha01
2019년 5월 7일
androidx.lifecycle:*:2.2.0-alpha01
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 이 릴리스에는 Lifecycle 및 LiveData를 위한 Kotlin 코루틴 지원을 추가하는 새로운 기능이 추가되었습니다. 자세한 내용은 여기에서 확인할 수 있습니다.
ViewModel-SavedState 버전 1.0.0
버전 1.0.0
2020년 1월 22일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0
가 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 중요 기능
- 새 SavedStateHandle 클래스가 추가되었습니다. 이를 통해
ViewModel
클래스에서 저장된 상태에 액세스하고 참여할 수 있습니다. 이 객체는ViewModel
클래스의 생성자에서 수신할 수 있고, 기본적으로 Fragments 및 AppCompatActivity에서 제공되는 클래스와 팩토리가SavedStateHandle
을 자동으로 주입합니다. - AbstractSavedStateViewModelFactory가 추가되었습니다. 이를 사용하여
ViewModel
의 맞춤 팩토리를 생성하고 그 팩토리에SavedStateHandle
액세스 권한을 부여할 수 있습니다.
ViewModel-Savedstate 버전 1.0.0-rc03
2019년 12월 4일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc03
가 출시되었습니다. 버전 1.0.0-rc03에 포함된 커밋을 확인하세요.
종속 항목 변경사항
- 이제 Lifecycle ViewModel SavedState는 Lifecycle
2.2.0-rc03
에 종속됩니다.
Viewmodel-Savedstate 버전 1.0.0-rc02
2019년 11월 7일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc02
버전이 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.
종속 항목 변경사항
- 이제 Lifecycle
2.2.0-rc02
에 종속됩니다.
ViewModel-SavedState 버전 1.0.0-rc01
2019년 10월 23일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc01
버전은 1.0.0-beta01
에서 변경사항 없이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
ViewModel-Savedstate 버전 1.0.0-beta01
2019년 10월 9일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-beta01
버전이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
Activity.onActivityResult()
의 SavedState ViewModel에 처음 액세스하면IllegalStateException
이 발생하는 문제가 수정되었습니다. b/139093676을 참조하세요.AbstractSavedStateViewModelFactory
를 사용할 때 발생하는IllegalStateException
이 수정되었습니다. b/141225984를 참조하세요.
ViewModel-SavedState 버전 1.0.0-alpha05
2019년 9월 18일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha05
버전이 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
SavedStateViewModelFactory
는 더 이상AbstractSavedStateViewModelFactory
를 확장하지 않으며SavedStateHandle
은 보유하도록 요청한 ViewModel에서만 생성됩니다. aosp/1113593을 참조하세요.
ViewModel-SavedState 버전 1.0.0-alpha03
2019년 8월 7일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha03
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
주요 변경사항
lifecycle-viewmodel-savedstate
는 더 이상fragment
에 종속되지 않으므로 관련SavedStateViewModelFactory(Fragment)
및SavedStateViewModelFactory(FragmentActivity)
생성자가 삭제되었습니다. 대신SavedStateViewModelFactory
가 이제 Activity1.1.0-alpha02
, Fragment1.2.0-alpha02
및 Navigation2.2.0-alpha01
의 기본 설정값입니다. b/135716331을 참조하세요.
ViewModel-SavedState 버전 1.0.0-alpha02
2019년 7월 2일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha02
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 기본값을 허용하는
SavedStateHandle.getLiveData()
오버로드가 추가되었습니다.
API 변경사항
SavedStateVMFactory
의 이름이SavedStateViewModelFactory
로 변경되었습니다.AbstractSavedStateVMFactory
의 이름이AbstractSavedStateViewModelFactory
로 변경되었습니다.
ViewModel-Savedstate 버전 1.0.0-alpha01
2019년 3월 13일
androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01
버전이 출시되었습니다. 이 초기 출시의 전체 커밋 로그는 여기에서 확인할 수 있습니다.
새로운 기능
- 이제
ViewModels
가 savedstate에 기여할 수 있습니다. 그렇게 하려면 새로 도입된 ViewModel의 팩토리SavedStateVMFactory
를 사용하고 ViewModel에SavedStateHandle
객체를 매개변수로 수신하는 생성자가 있어야 합니다.
버전 2.1.0
2.0.0 이후 중요 변경사항
- 수명 주기 이벤트 스트림이 필요한 상황을 위해
LifecycleEventObserver
를 추가했습니다. 숨겨진GenericLifecycleObserver
클래스를 대신하는 공개 API입니다. LiveData.observe
메서드 및Transformations.*
메서드를 위한 ktx 확장을 추가했습니다.- 소스
LiveData
값이 변경될 때까지 값을 내보내지 않는 새로운 LiveData 객체를 생성하는Transformations.distinctUntilChanged
를 추가했습니다. - 확장 속성
ViewModel.viewModelScope
를 추가하여 ViewModel에 코루틴 지원을 추가했습니다.
버전 2.1.0
2019년 9월 5일
androidx.lifecycle:lifecycle-*:2.1.0
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버전 2.1.0-rc01
2019년 7월 2일
androidx.lifecycle:*:2.1.0-rc01
버전은 androidx.lifecycle:*:2.1.0-beta01
에서 변경사항 없이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
버전 2.1.0-beta01
2019년 5월 7일
androidx.lifecycle:*:2.1.0-beta01
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- Lifecycle이 베타로 전환되었습니다. 이전 알파에서 추가된 api(예: 변환 및 관찰을 위한
liveData
확장 함수, 속성 위임을 통한ViewModel
초기화 등)는 안정화되었으며 변경되지 않습니다.
버전 2.1.0-alpha04
2019년 4월 3일
androidx.lifecycle:*:2.1.0-alpha04
버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
API 변경사항
- 주요 변경사항:
by viewModels()
및by activityViewModels()
뒤에 오는 기본 API가ViewModelStoreOwner
만 지원하지 않고ViewModelStore
를 직접 지원하도록 변경되었습니다. aosp/932932를 참조하세요.
버전 2.1.0-alpha03
2019년 3월 13일
androidx.lifecycle:*:2.1.0-alpha03
버전이 출시되었습니다. 이 버전에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.
API 변경사항
ViewModelProvider.KeyedFactory
가 삭제되었습니다.ViewModelProvider.Factory
외에 두 번째 인터페이스는 Kotlinby viewmodels {}
의 속성 위임을 새로운 기능으로 포함하도록 작성되지 않았습니다. aosp/914133을 참조하세요.
버전 2.1.0-alpha02
2019년 1월 30일
androidx.lifecycle 2.1.0-alpha02
가 출시되었습니다.
API 변경사항
- 이제
LifecycleRegistry
는 현재 지원 중단된setState()
메서드를 대체하는setCurrentState()
메서드를 포함합니다. aosp/880715를 참조하세요.
버그 수정
- 포함
ViewModelStore
가 삭제될 때 모의ViewModel
인스턴스가 비정상 종료되는 문제가 수정되었습니다. b/122273087을 참조하세요.
버전 2.1.0-alpha01
2018년 12월 17일
androidx.lifecycle 2.1.0-alpha01
이 출시되었습니다.
새로운 기능
- 수명 주기 이벤트 스트림이 필요한 상황을 위해
LifecycleEventObserver
를 추가했습니다. 숨겨진GenericLifecycleObserver
클래스를 대신하는 공개 API입니다. LiveData.observe
메서드 및Transformations.*
메서드를 위한 ktx 확장을 추가했습니다.Transformations.distinctUntilChanged
메서드를 추가했습니다. 이 메서드는 소스 LiveData 값이 변경될 때까지 값을 내보내지 않는 새로운LiveData
객체를 생성합니다.- ViewModel에서 코루틴 지원: 확장 속성
ViewModel.viewModelScope
를 추가했습니다. create
메서드의key
및Class
를 수신하는 ViewModel의 팩토리ViewModelProvider.KeyedFactory
를 추가했습니다.
버전 2.0.0
버전 2.0.0
2018년 9월 21일
Lifecycle 2.0.0
이 출시되었으며 2.0.0-rc01
에서 ViewModel의 버그가 1개 수정되었습니다.
버그 수정
- 생성자를 잘못 삭제하는 ViewModel ProGuard 규칙이 수정되었습니다. b/112230489를 참조하세요.
버전 2.0.0-beta01
2018년 7월 2일
버그 수정
- 하위 인터페이스가 아닌 구현만 유지하도록 LifecycleObserver Proguard 규칙이 수정되었습니다. b/71389427
- 난독화와 축소를 허용하도록 ViewModel Proguard 규칙이 수정되었습니다.
AndroidX 이전 버전
후속 Lifecycle의 AndroidX 이전 버전에서는 다음 종속 항목을 포함합니다.
dependencies {
def lifecycle_version = "1.1.1"
// ViewModel and LiveData
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
// alternatively - just ViewModel
implementation "android.arch.lifecycle:viewmodel:$lifecycle_version" // For Kotlin use viewmodel-ktx
// alternatively - just LiveData
implementation "android.arch.lifecycle:livedata:$lifecycle_version"
// alternatively - Lifecycles only (no ViewModel or LiveData).
// Support library depends on this lightweight import
implementation "android.arch.lifecycle:runtime:$lifecycle_version"
annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version" // For Kotlin use kapt instead of annotationProcessor
// alternately - if using Java8, use the following instead of compiler
implementation "android.arch.lifecycle:common-java8:$lifecycle_version"
// optional - ReactiveStreams support for LiveData
implementation "android.arch.lifecycle:reactivestreams:$lifecycle_version"
// optional - Test helpers for LiveData
testImplementation "android.arch.core:core-testing:$lifecycle_version"
}
버전 1.1.1
2018년 3월 21일
사소한 변경사항: android.arch.core.util.Function
을 arch:runtime
에서 arch:common
으로 이동함에 따라 런타임 종속 항목 없이 사용할 수 있습니다(예: 아래 paging:common
참조).
lifecycle:common
은 lifecycle:runtime
의 종속 항목이므로 이러한 변경은 lifecycle:runtime
에 직접 영향을 주지 않으며 Paging과 마찬가지로 lifecycle:common
에 직접 종속되는 모듈에만 영향을 줍니다.
버전 1.1.0
2018년 1월 22일
패키징 변경사항
이제 새롭고 훨씬 작은 종속 항목을 사용할 수 있습니다.
android.arch.lifecycle:livedata:1.1.0
android.arch.lifecycle:viewmodel:1.1.0
API 변경사항
- 이제 지원 중단된
LifecycleActivity
및LifecycleFragment
가 삭제되었습니다.FragmentActivity
,AppCompatActivity
또는 지원Fragment
를 사용하세요. @NonNull
주석이ViewModelProviders
및ViewModelStores
에 추가되었습니다.ViewModelProviders
생성자가 지원 중단되었습니다. 이 생성자의 정적 메서드를 직접 사용하세요.ViewModelProviders.DefaultFactory
가 지원 중단되었습니다.ViewModelProvider.AndroidViewModelFactory
를 사용하세요.ViewModel
및AndroidViewModel
인스턴스를 생성하는 데 적합한 정적Factory
를 가져오도록ViewModelProvider.AndroidViewModelFactory.getInstance(Application)
정적 메서드가 추가되었습니다.