IT story

AndroidViewModel과 ViewModel

hot-time 2020. 7. 24. 07:32
반응형

AndroidViewModel과 ViewModel


안드로이드 아키텍처 구성 요소 라이브러리의 도입으로, 여러 가지 새로운 클래스를 포함하여, 도입 AndroidViewModelViewModel. 그러나이 두 클래스의 차이점을 알아내는 데 어려움을 겪고 있습니다. 설명서AndroidViewModel 는 다음과 같이 간결하게 설명 합니다.

응용 프로그램 컨텍스트 인식 ViewModel

나는 간결함에 감사하지만 이것이 정확히 무엇을 의미합니까? 언제 AndroidViewModel이상 을 사용하도록 선택해야 ViewModel합니까?


뷰 모델 내에서 컨텍스트를 사용해야하는 경우 애플리케이션 컨텍스트 (getApplication () 호출을 검색하기 위해)를 포함하므로 AndroidViewModel을 사용해야합니다. 그렇지 않으면 일반 ViewModel을 사용하십시오.

편집하다

AndroidViewModel에는 Application Context가 있습니다. 우리는 모두 정적 컨텍스트 인스턴스가 악하다 는 것을 알고 있습니다! (메모리 누수가 발생할 수 있습니다 !!)

그러나 정적 응용 프로그램 인스턴스를 갖는 것이 생각보다 나쁘지 않습니다.

실행중인 응용 프로그램에는 하나의 Application 인스턴스 만 있기 때문입니다.

따라서 특정 클래스에서 Application 인스턴스를 사용하고 갖는 것은 일반적으로 문제가되지 않습니다.

그러나 응용 프로그램 인스턴스가 참조하는 경우 참조주기 문제로 인해 문제가됩니다.

응용 프로그램 인스턴스에 대한 참조

참고 URL : https://stackoverflow.com/questions/44148966/androidviewmodel-vs-viewmodel

반응형