반응형
Greensky0026
삽질러의 대환장 공사판
Greensky0026
전체 방문자
오늘
어제
  • 분류 전체보기 (241)
    • Language (56)
      • JAVA (13)
      • Swift (38)
      • Kotlin (4)
      • Dart (0)
      • PHP (0)
      • JavaScript (1)
    • IDE & Framework (92)
      • Spring (10)
      • Android (48)
      • iOS (8)
      • NodeJS (1)
      • CodeIgniter (3)
      • Flutter (1)
      • 분류중 (18)
    • Infra (8)
    • Database (12)
    • VCS (4)
    • Debug Log (34)
      • java (7)
      • swift (3)
      • Android (9)
      • Web (7)
      • 삽질기 (7)
    • Others (19)
      • 코딩테스트 풀이 (0)
      • IT 이야기 (18)
    • 쉼터 (2)
    • 개발공부 (14)
      • Network (1)
      • 자료구조와 알고리즘 (2)
      • Code design (8)
      • ETC (1)
      • 아카이브 (1)

블로그 메뉴

    공지사항

    • 프로그래머스 코딩 테스트 관련글 비공개 처리

    인기 글

    태그

    • 코딩테스트
    • kotlin
    • 공부
    • ios
    • 예제
    • IT
    • Java
    • 타입
    • level1
    • 프로그래머스
    • 개발
    • 구축
    • JSP
    • swift
    • reduce
    • xcode
    • 프로그래밍
    • Android
    • swfit
    • map

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    Greensky0026

    삽질러의 대환장 공사판

    Android Activity 수명주기란?
    IDE & Framework/Android

    Android Activity 수명주기란?

    2021. 5. 7. 23:57
    반응형

    *과거 포스팅한 글을 옮겨왔습니다.


     

    Activity 수명 주기에 대한 이해  |  Android 개발자  |  Android Developers

    An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map. Each activity is given a window in which to draw its user interface…

    developer.android.com

    Activity 수명 주기를 간략하게 표현한 그림.

    - 안드로이드 Activity의 수명주기

     최초, onCreate 메소드가 호출되어 레이아웃을 구성합니다. 그리고 해당 activity가 화면에 출력되기 직전 onStart 메소드가 호출됩니다. 그리고 activity가 화면에 출력되고 포커스가 되었을 때 onResume메소드가 호출됩니다. 이후 activity는 실행상태가 되어 사용자와 상호작용이 가능해집니다.

     포커스를 잃었을 때(화면에 다른 activity가 출력되었으나 종료가 되지 않았을 때) onPaues메소드가 호출되고 일시정지상태가 됩니다. 이후 다시 포커스되면 onResume메소드가 호출됩니다. 반면, 다른 activity에 완전히 가려져 화면에 출력되지 않는다면 onStop메서드가 호출되고 정지상태가 됩니다. 여기서, 다시 포커스를 얻는다면 화면이 출력되기 직전 onRestart - onStart메소드가 차례대로 호출됩니다. 그 외에는 finish메소드가 실행되어 액티비티가 종료되기 전 onDestory메소드가 실행됩니다. 

     스마트폰을 사용하다 보면, 가끔 activity가 종료가된것도 아닌데 초기화가 되어있을 때가 있습니다. 그 때는 시스템이 메모리가 부족하다고 판단해 onCreate메소드부터 해당 activity를 구동한 것 입니다. 이때 onStop 및 onResume 메소드는 생략됩니다. 개발시에 위 상황처럼 갑자기 activity가 초기화 되는 상황을 대비할 수 있는 메소드가 있습니다. onSaveInstanceState 및 onRestoreInstanceState 메소드를 이용해 상태를 저장하고 복원시의 작업을 정의할 수 있습니다.

     

    * Activity의 상태

     activity는 크게 세가지 상태로 구분되는데, 실행 / 일지 중지 / 정지 상태입니다.
    실행 상태는 activity 스택의 최상위로써, 화면에 출력중인 상태입니다. 
    일시중지 상태는 사용자에게 보이기는 하지만, 다른 activity에 의해 가려져 있는 상태입니다. 
    중지 상태는 다른 activity에 완전히 가려져 보이지 않는 상태입니다.

    반응형
    저작자표시 (새창열림)

    'IDE & Framework > Android' 카테고리의 다른 글

    비동기(Async)통신과 동기(Sync)통신의 차이 feat. retrofit  (0) 2021.05.08
    margin과 padding 차이  (0) 2021.05.08
    Manifest 파일이란?  (0) 2021.05.07
    Android의 4대 컴포넌트란?  (0) 2021.05.07
    [(가제)강습스케쥴러] application preview  (0) 2021.04.13
      'IDE & Framework/Android' 카테고리의 다른 글
      • 비동기(Async)통신과 동기(Sync)통신의 차이 feat. retrofit
      • margin과 padding 차이
      • Manifest 파일이란?
      • Android의 4대 컴포넌트란?
      Greensky0026
      Greensky0026
      점이 모여 선이 된다. 내 삽질도 언젠간 거대한 지하 도시가 되겠지!

      티스토리툴바