Android-Children-Playground / Study

15 stars 7 forks source link

lifecycle의 이해 #8

Closed shshksh closed 3 years ago

shshksh commented 3 years ago

Activity Lifecycle Fragment Lifecycle View Lifecycle

각각의 라이프사이클이 어떻게 동작하는지. 단순히 생성되고 종료될 때의 라이프사이클 뿐만 아니라 액티비티, 프래그먼트 전환 등 여러 상황에서의 라이프사이클 흐름.

라이프사이클을 이해해야 하는 이유. 관련 이슈 같은거??

할 수 있다면 라이프사이클 관련 라이브러리(ViewModel, LiveData, ...)까지

PsPLoG commented 3 years ago

bottom navigation 을 쓰면 fragment가 전환 될 때마다 replace 시키기 때문에 fragment 가 destroy 된다.

이때 fragment의 상태를 유지하기 위한 방법에는 어떤 것들이 있고 어떤 방법이 좋은 방법일까? bottom navigation을 구현한 개발자는 왜 fragment를 destroy 하도록 했을까?

shshksh commented 3 years ago

ViewModel이 어떻게 생성되고 동작하는가 (LifecycleOwner, ViewModelStore, ViewModelStoreOwner, ViewModelProvider, ViewModelFactory, ViewModel의 SavedStateHandle, ...) + onSavedInstanceState는 더 이상 필요 없는가?

PsPLoG commented 3 years ago
  1. fragment상태전환과 라이프사이클(Viewbinding은 왜 fragment에서 메모리릭이 있을까)
  2. Activity 각 라이프사이클에 맞는 동작은 어떤것이 있을까?
  3. viewModel, LiveData의 라이프사이클은 Activity와 어떻게 다를까?
  4. Fragment의 생성자를 변경하면 안되는이유
yjooooo commented 3 years ago

Fragment에서 데이터바인딩을 할 때와 라이브데이터를 사용할 때, 바인딩의 lifecycleOwner를 fragment의 lifecycle로 지정해주는 것과 fragment view의 lifecycle viewLifecycleOwner로 지정해주는 것의 차이, 라이브데이터를 옵저빙할 때 어떤 생명주기에 맞춰서 데이터를 갱신할지..?

ui 업데이트 용으로는 라이브데이터를 fragment view의 lifecycle에 맞춰서 데이터를 갱신하는게 적절하다고하는 이유

일단 적어봤는데 저도 뭔소리를 하는지 모르겠네요... 정리가 안돼요... ㅋㅋㅋ

kldaji commented 3 years ago
  1. 여러가지 상황에서의 라이프사이클 흐름 (제 기준에서는 Activity 와 Fragment 정도...!)
  2. fragment 상태유지 방법 (fragment 전환시 destory 된 fragment 상태유지)
  3. jetpack navigation 라이브러리로 fragment 관리하는 방법과 fragmentmanager 로 관리하는 방법의 차이
Jeong-heon2 commented 3 years ago
  1. 각각 라이프 사이클에서 어떤 처리를 해줘야 하는가
  2. fragment manager 와 fragment transaction 이해
PsPLoG commented 3 years ago

Fragment 상태전환 라이프사이클(Viewbinding fragment 메모리릭 문제)