Headless Fragment

2020. 1. 17. 15:40모바일/Android_Java

액티비티가 종료되기 직전 호출되는 onSaveInstanceState() 콜백에서 액티비티의 상태 또는 데이터를 저장할 수 있지만 직렬화할 수 없는 객체는 저장할 수 없습니다. 이 방법은 애초에 많은 양의 데이터를 저장하기 위해 디자인되지 않았기 때문에 이로 인한 한계가 불가피했습니다. 다른 대안으로는 유보된 프래그먼트(Retained Fragment)를 사용하는 방법입니다. UI가 없는 워커(헤드리스) 프래그먼트 개념을 도입해 이곳에서 UI에 필요한 데이터를 관리하고, 프래그먼트를 setRetainInstance(true)로 설정함으로써 액티비티 재생성 시, 프래그먼트를 메모리에 유지(소멸시키지 않고 유보)시키는 것입니다. 이때 프래그먼트는 액티비티에서 분리(onDetach)된 후 새로운 액티비티로 다시 호스팅(onAttach) 될 뿐 소멸과 생성을 반복하지 않습니다.

 

출처 : https://medium.com/@jungil.han/%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-viewmodel-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-2e4d136d28d2

'모바일 > Android_Java' 카테고리의 다른 글

익명클래스,람다식  (0) 2020.01.28
메서드체이닝  (0) 2020.01.28
findViewById No Use : DataBinding  (0) 2020.01.17
RecyclerView 스크롤 막기  (0) 2020.01.15
overridePendingTransition  (0) 2020.01.15