본문 바로가기

Jetpack2

[ViewModel] ViewModel 시작하기 1. ViewModel 개요 ViewModel은 수명주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다. 특히, 화면 회전과 같은 구성 변경에도 데이터 유지가 가능하다. 1.1. 기존의 단점들 단순한 데이터의 경우 Activity는 onSavedState()를 사용해 onCreate()의 Bundle에서 데이터를 복원할 수 있었다. 하지만, 이 경우는 Bitmap과 같은 대량의 데이터에는 적합하지 않다. View에서는 비동기 호출을 자주 한다. View는 비동기 호출을 관리하며 많은 유지관리가 필요하고, 화면 회전과 같은 구성 변경 시 개체가 다시 생성되는 경우 이미 수행한 호출을 다시 호출하기 때문에 리소스 낭비가 생기게 된다. View는 UI 표시, 사용자 상호작용, 권한 요청과 같은 .. 2022. 3. 11.
[Room] SQLite에서 Room으로 Jetpack은 2018년 5월 Google에서 발표한 라이브러리 및 도구 모음집이다. Jetpack 이전에 있었던 Support 라이브러리는 여러 가지 한계점을 가지고 있었고, 이를 개선하면서 Jetpack이 출시되었다. Android 9.0 (API Level 28)의 출시와 함께 Jetpack의 일부인 AndroidX 라이브러리가 제공되었고, AndroidX는 기존 Support 라이브러리와 Jetpack 구성요소들을 포함하게 되었다. 현재는 AndroidX 사용을 권장하고 있다. 이번 포스팅은 Jetpack의 Architecture 구성요소 중 하나인 Room에 대한 포스팅이다. 1. What is Room? Room은 디바이스 내의 로컬 데이터베이스에 SQLite보다 더 효과적으로 데이터를 저장.. 2021. 10. 6.