MainActivity가 어떤 것인지 먼저 이야기 해야할 것 같내요..
onCreate() 인벤트 처리 함수 입니다. 어떤 조건 상황이 발생하면 실행하는 (호출되는) 것이지요.
MainActivity는 이런 이벤트 처리함수나 기타의 함수 단위의 존재는 아닙니다.
화면 저체의 구성을 담당하는 객체(Object, class)지요.
이런 객체는 생성, 소멸이 있습니다.
호출은 생성될때도 호출되고, 소멸될때도 호출되고 기타 다른 이 object가 관여해야 할 일이 생기면 호출되지요.
이런 오브젝트는 내부에 어떤 정보를 담고있는 data와 어떤 일을 수행해야하는 코드가 같이 들어 있는 존재지요.
따라서 호출의 시점이라고 할만한 특별한 경우가 있는 경우는 드물며 대부분은 필요가 느껴지실때 만들어졌다가 필요가 없어질때 삭제 되어지는 존재입니다.
가로세로 전환시 MainActivity가 호출 -> 가로세로 전환시 MainActivity는 소멸되었다가 다시 생성됩니다.
onCreate 는 create 이벤트가 발생했을때 호출되어지지요, 따라서 생성이 일어났다는 이벤트가 발생하고 이 이벤트에 따라서 불려져서 실행됩니다.
생성을 하기위해선 기존에 같은 것이 있다면 소멸시키고 다시 생성하겠지요.
아무튼 이런 부분은 좀더 공부가 필요해 보이는 부분으로 보입니다.