(1)  Activity 내의 setContentView 메소드는 xml 에 문서에 정의된 레이아웃과 차일드 뷰의 속성을 읽어
      실제 뷰 객체를 생성하여 Activity 내부에 채워 줍니다.
      이러한 과정을 Inflate 라고  하는데요..

(2) 이 과정을 코딩으로도 구현 할 수 있습니다.

(3) 먼저 Inflater 를 얻고 , Inflater의 inflate(리소스) 메소드를 호출하여
      해당 리소스의 정보를 순서대로 해석하고 차일드 뷰를 생성한 
      이후 루트 뷰를 리턴 합니다. 

(4) 리턴된 루트뷰를  setcontent() 메소드의 인자값으로 호출하게 되면  리턴된 뷰가 화면에 채워지게 되는데요..


질문입니다.

미리 결정된 디자인을 setContentView(리소스) 를 전달해주면 알아서 전개하고 화면에 채워주는데.. 

왜 구지  Infater 를 사용하여  리소스를 따로 전개하여 화면에 뿌려주는 걸까요?

모든 요소는 디자인 타임에 결정되지 않으며 , 리스트 뷰나 리니어안에 뷰를 동적으로 생성해야 하는 경우가 빈번하다
이때 차일드 뷰를 직접 생성하는 것 보다는 XML 로 잘 정의해 놓고 필요할 때마다 전개해서 사용하는 것이 효율적이다
라고 합니다.

위 말이 직관적으로 바로 이해가 되지 않아.. 실제로 어떤 경우가 있는지 어떠한 경우에 직접 리소스를 읽어 전개해야하는지
구체적으로 알고 싶습니다.

어떤 힌트라도 좋으니.. 조그만 도움 부탁드립니다.