-
안드로이드 View의 생명주기Android📱 2022. 3. 3. 20:35
- 커스텀뷰를 만들며 상속받은 View에는 액티비티나 프래그먼트처럼 생명주기가 있다.
- 생성자 Constructors를 부름
- onAttachedToWindow() : 윈도우에 연결되면 호출, View를 활성화
- 드로잉 할 화면이 있음을 판단
- 리스너 설정이나 리소스 할당가능
- onDetachedFromWindow() : 윈도우에서 분리될 때 호출, 드로잉 할 화면이 없음
- 작업 중지
- 액티비티가 사라지거나, 뷰를 제거할 때 호출
- onFinishInflate()
- 많이 들어본 단어 Inflate 말그대로 View 전개가 끝날 때 호출
- 모든 Child View가 추가된 후 호출
- onMeasure() : View 크기 확인
- 사이즈 확인 가능
- setMeasuredDimension()로 너비와 높이를 명시적으로 설정
- onLayout() : View 측정하고 화면에 배치
- onDraw() : 화면을 그리는 단계
- Canvas() 존재
- invalidate(), requestLayout()으로 속성 변경 시 View 무효화
- invalidate() : 뷰가 변경됨을 알리고 다시 그리기를 요청
- requestLayout() : onMeasure()를 호출해서 측정부터 다시 함
- onSaveInstanceState(): 뷰의 상태를 저장한다
- View.BaseSavedState를 확장하여 속성 값을 저장하는 클래스가 필요하다.
- 고유한 ID가 있어야 한다
- onRestoreInstanceState(Parcelable state)
- 여기서는 이 onRestoreInstanceState메서드를 재정의
- Parcelable에서 데이터를 읽은 다음 Parcelable에서 사용 가능한 데이터를 기반으로 로직을 작성해야 한다.
참고
https://www.charlezz.com/?p=29013
'Android📱' 카테고리의 다른 글
[안드로이드 오류] Cannot resolve symbol (0) 2022.03.12 [Adroid] Live Data 실험해보기 (0) 2022.03.09 [Android] Call Back 함수공부 (0) 2022.03.06 Android 이벤트 리스너의 기원.....과연 어디까지 가는것인가 (0) 2022.03.05 [kotlin] interface Listener로 event listener 구현해보기 (0) 2022.03.04