Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Lifecycle

수명 주기 인식 구성요소는 활동 및 프래그먼트와 같은 다른 구성요소의 수명 주기 상태가 변경되면 작업을 실행합니다. 이러한 구성요소를 사용하면 잘 구성된 경량의 코드를 만들어 유지 관리가 더 쉬워집니다. 자세한 내용은 참조 문서에서 확인하세요.
최근 업데이트 현재 안정화 출시 다음 출시 후보 베타 출시 알파 출시
2020년 6월 24일 2.2.0 - - 2.3.0-alpha05

종속성 선언

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-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이 아닌 유형 매개변수를 사용하여 MutableLiveDatanull 값이 설정된 경우를 훨씬 더 많이 처리합니다. (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를 검색할 수 있습니다. Activity 1.2.0-alpha05, Fragment 1.3.0-alpha05, AppCompat 1.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 생성자에 null Application을 전달할 수 있습니다. (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를 검색할 수 있습니다. Activity 1.2.0-alpha01Fragment 1.3.0-alpha01을 업그레이드해야 올바르게 채울 수 있습니다. lifecycle-runtime-ktx에서 findViewTreeLifecycleOwner Kotlin 확장 프로그램을 사용할 수 있습니다. (aosp/1182361aosp/1182956 참조)
  • Kotlin에서 non-null로 정의된 MutableLiveData에서 null 값을 설정할 경우 경고하는 새로운 린트 검사가 추가되었습니다. 이 검사는 livedata-core-ktx 또는 livedata-ktx 아티팩트 사용 시에 사용할 수 있습니다. (aosp/1154723aosp/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) 생성자에 전달하면 Fragment 1.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-process2.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 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 이제 liveDatalifecycleScope, 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 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

API 변경사항

  • ViewModelProviders.of()가 지원 중단되었습니다. Fragment 또는 FragmentActivity를 새 ViewModelProvider(ViewModelStoreOwner) 생성자에 전달하면 동일한 기능을 실행할 수 있습니다. aosp/1009889를 참조하세요.

버전 2.2.0-alpha02

2019년 7월 2일

androidx.lifecycle:*:2.2.0-alpha02 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • LiveDataScope.initialValueliveData 블록의 현재 생성된 값을 추적하는 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가 이제 Activity 1.1.0-alpha02, Fragment 1.2.0-alpha02Navigation 2.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 외에 두 번째 인터페이스는 Kotlin by 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 메서드의 keyClass를 수신하는 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.Functionarch:runtime에서 arch:common으로 이동함에 따라 런타임 종속 항목 없이 사용할 수 있습니다(예: 아래 paging:common 참조).

lifecycle:commonlifecycle: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 변경사항

  • 이제 지원 중단된 LifecycleActivityLifecycleFragment삭제되었습니다. FragmentActivity, AppCompatActivity 또는 지원 Fragment를 사용하세요.
  • @NonNull 주석이 ViewModelProvidersViewModelStores에 추가되었습니다.
  • ViewModelProviders 생성자가 지원 중단되었습니다. 이 생성자의 정적 메서드를 직접 사용하세요.
  • ViewModelProviders.DefaultFactory가 지원 중단되었습니다. ViewModelProvider.AndroidViewModelFactory를 사용하세요.
  • ViewModelAndroidViewModel 인스턴스를 생성하는 데 적합한 정적 Factory를 가져오도록 ViewModelProvider.AndroidViewModelFactory.getInstance(Application) 정적 메서드가 추가되었습니다.