android fragment lifecycle adapter 위치 정리
2022. 4. 25. 20:49ㆍandroid
insta clone coding을 하는 도중 궁금한 게 생겨 정리해보려고 한다.
fragment에 Recyclerview adapter를 연결해야 했는데 어느 시점에 만들어야 할지 정확히 몰랐다.
onCreateView와 onViewcreated 둘 중에 어디로 보낼지 헷갈렸다.
그래서 Fragment의 LifeCycle에 대해 검색하였고 공홈에서 알게 되었다.
일단 Fragment의 생명주기에 대해 사진으로 보면
view를 만들 때 Activity 랑 비슷하지만 조금 길다.
그럼 여기 중에 내가 Adapter를 넣어야 하는 곳은 어디일까??
검색해 보니 공식 홈에 onCreateView()에서 작업하라고 나와있다.
LiveData, RecyclerView, ViewPager2 adpater 등을 이곳에서 update , set up 하기 적합한 곳이라고 한다.
여러 블로그를 참조해 본 결과
- onCreate() -> 리소스 초기화 작업을 하는 곳
- onCreateView() -> 여기서 뷰를 그려야 한다.
- onViewCreated() -> 뷰를 변경하고 싶을 때 이곳에서 변경한다.
- onViewStateRestored() -> 이 상태는 fragment의 view에 상태를 저장하는 시점이다. 저장은 SparseArray <Parcelable> 타입의 mSavedViewState를 가지고 있고 onViewCreated()에서 넘어올 때 state를 가지고 있으면 복구한다. 그리고 onStart()로 넘어가고 다른 activity or fragmentn로 가게 되면 onResume()에서 onPause()로 넘어가고 onStop 직후 view 상태를 state에 저장한다. 그 후 DestoryView 하고 넘어가는 fragment는 onCreateView 하고 onViewCreated 지나서 state를 채우고 나중에 사용한다.
'android' 카테고리의 다른 글
안드로이드 OS 구조 (1) | 2022.09.23 |
---|---|
gradle kotlin dsl migration - 2. Gradle 에서 kts 로 migration (0) | 2022.05.24 |
gradle kotlin dsl migration - 1.BuildSrc 폴더 생성하고 그 안에 build.gradle.kts 생성 (0) | 2022.04.27 |
android Unit test는 왜 작성할까? (0) | 2022.04.12 |
android 빌드 시간을 단축 하기 위한 노력. (1) | 2022.04.12 |