1 Inflation
1.1 서론
Android 에서의 inflation 을 알아보려한다.
inflation은 xml 레이아웃 파일로 정의한 정보를 런타임 중에 메모리 상에 객체로 만들어주어 화면에 보여주는 과정을 의미한다.
즉 Android 개발을 하면서 View를 만들기 위해 작업하였던 xml을 실제로 사용할 수 있게 해주는 작업이라고 할 수 있다.
1.2 Inflation 사이클

이미지를 보고 간단하게 확인하면 xml 을 정의하고 실행 시 메모리로 xml을 로딩하여 화면에 보여주는 순서이다.
이 일련의 작업은 xml 레이아웃 파일을 실제로 사용할 수 있도 록에서 view ID 를 설정하고 해당 ID가 R 파일에 주소값으로 적용되어
findViewById 메서드 와 Id를 활용하여 코드상으로 View 객체를 가져와 제어할 수 있게 하는 것이다.
1.3 Inflation 종류
Inflation에는 두 가지 방식이 있다.
1.3.1 전체화면
흔히 xml과 매핑되는 Class 파일에는 자동적으로 setContentView 가 적용되어 있는 모습을 볼 수 있다.
이것이 Inflation 이다.
setContentView 는 전체 화면에 뷰를 지정할 때 사용된다.
1.3.2 일부화면
LayoutInflater 를 사용하여 작업하는 경우 전체 화면이 아닌 일부를 차지하는 요소들을 화면에 보여줄 때 사용된다.
물론 이 또한 Inflation 이다.
2 결론
결국 View를 그리기 위해 작성한 xml은 Inflation을 통해 제어를 할 수 있던 것이었다.
그래서 Inflation 하기 전에 해당 View에 리소스에 접근하게 되면 NULL이 발생하게 되는 것을 볼 수 있다.
즉 Class 파일에서 View 리소스를 당연하게 사용하고 있던 것은 Inflation 작업을 하였기 때문에 가능하던 것이다.
'Android > ETC' 카테고리의 다른 글
Android Activity 생명주기 (0) | 2021.09.25 |
---|---|
Android 에서 Context가 무엇일까 (0) | 2021.09.25 |
Android Intent에서의 Bundle 에 대해 (0) | 2021.09.25 |