view의 생명주기(안드로이드(kotlin), iOS(swift))

생공나온 개발자·2021년 8월 12일
0

①안드로이드-kotlin 생명주기(life cycle)

  • 앱을 실행시키면 화면 전환, 즉 Activity의 움직임에 따라서 호출되는 메소드가 있다. 이 메소드의 호출에 따라서 앱에서 사용하던 리소스의 생성과 소멸을 조절할 수 있다.

■Activity 생명 주기 메소드

호출되는 메서드Activity 상태설명
onCreate()만들어짐액티비티가 생성된다. 코드가 가장 많이 작성되는 메소드이다
onStart()화면에 나타남화면에 보이기 시작한다.
onResume()화면에 나타남
현재 실행중
실제 액티비티가 실행되고 있다.
onResume()메소드가 호출되었다면 화면에 보이는 액티비티가 실행중이라는 의미
onPause()화면이 가려짐액티비티 화면의 일부가 다른 액티비티에 가려진다.
onStop()화면에 없어짐다른 액티비티가 실행되어서 화면이 완전히 가려진다.
onDestroy()종료종료된다.
  • 호출되는 메소드에 super를 호출하지 않으면 액티비티가 정상적으로 동작하지 않으므로 꼭 먼저 호출한 후에 다른 코드를 추가한다.

생명 주기 콜백의 이해

1) 액티비티 실행

  1. onCreate() : 화면 구성요소를 메모리에 로드한다
  2. onStart()
  3. onResume()
    ->onStart()와 onResume()가 실행되면서 화면의 구성요소를 나타내고 사용자에게 보여준다. 사용자의 반응에 따라 앱이 실행되게 한다.

2) 화면이 제거가 되는 경우

  1. onPause()
  2. onStop()
  3. onDestroy()
    ->onPause()와 onStop()은 동시에 실행된다. onDestroy()가 실행되면 메모리에서 올라있는 액티비티의 리소스를 제거한다.

②iOS-swift 생명주기(life cycle)

  • 앱을 실행시키면 화면 전환, 즉 ViewController의 움직임에 따라서 호출되는 메소드가 있다. 이 메소드의 호출에 따라서 앱에서 사용하던 리소스의 생성과 소멸을 조절할 수 있다.

■ViewController의 생명 주기 메소드

호출되는 메서드실행 타이밍설명
viewDidLoad해당 뷰컨트롤러 클래스가 생성될 때
(ViewWillAppear전에 실행) 실행
Low memory와같은 특별한 경우가 아니라면
딱 한번만 실행되기 때문에 초기화 할 때 사용
viewWillAppear뷰 컨트롤러가 화면에 나타나기 직전에 실행화면에 보이기 시작한다.
viewDidAppear뷰 컨트롤러가 화면에 나타난 직후에 실행화면에 적용될 애니메이션을 그리거나
API로 부터 정보를 받아와 화면을 업데이트 할 때
이곳에 로직을 위치시키면 좋습니다.
왜냐하면 지나치게 빨리 애니메이션을 그리거나
API에서 정보를 받아와 뷰 컨트롤러를 업데이트
할 경우 화면에 반영되지 않습니다.
viewWillDisappear뷰 컨트롤러가 화면에 사라지기 직전에 실행뷰가 사라지기 직전에 수행합니다.
뷰를 생성하고나서 했던 행동들을 되돌리는
작업을 하거나 작성 또는 선택된 정보들을 삭제되기 전에 저장해두는작업을 수행합니다.
키보드를 숨기는 것과 같은 처리가 가능하다.
viewDidDisappear뷰 컨트롤러가 화면에 사리진 직후에 실행notification처리에 용이하다.

생명 주기 콜백의 이해

1) viewController 실행

  1. loadView
  2. viewDidLoad
  3. viewWillAppear
  4. ViewDidAppear

2) viewController가 제거가 되는 경우

  1. viewWillDisappear
  2. viewDidDisappear
  3. viewDidUnload
profile
iOS앱개발, 웹개발을 공부중인 비전공 개발자입니다.

0개의 댓글