안드로이드 액티비티 생명 주기

이성진·2023년 8월 10일
4

TIL

목록 보기
12/95
post-thumbnail

안드로이드 액티비티는 안드로이드 앱의 기본 구성 요소이며 사용자 인터페이스가 있는 단일 화면을 나타냅니다. 안드로이드 액티비티의 생명주기를 이해하는 것은 효율적이고 반응이 좋은 애플리케이션을 개발하는 데 중요합니다.

onCreate()

  • 목적 : 액티비티가 생성되고 메모리에 로드될 때 시작점 역할을 합니다..

  • 모범 사례 :

    • 초기화 : 최소한 한 번 실행됩니다. 대부분의 초기화 코드는 여기에 위치합니다.

    • 효율성 : onCreate 내부의 코드를 최소화하여 가독성을 향상시킵니다. 이것이 BaseActivity 를 사용하는 이유 중 하나입니다.

    • 재사용 : 가능한 경우 액티비티는 재사용됩니다. 뒤로 가면 기존 액티비티가 재사용됩니다. 새로 생성되지 않는 한 onCreate 는 실행되지 않습니다.

    • 새 인스턴스 : Intent 를 통해 시작된 액티비티는 항상 새로 생성되므로 , onCreate 는 매번 실행됩니다.

onResume()

  • 목적 : 액티비티가 화면 전환 시 마다 실행됩니다.

  • 주요 사항 :

    • 수동 재정의 필요 : onResume 은 기본적으로 작성되지 않습니다. 사용하려면 재정의해야 합니다.

    • 가시성 : 새로 생성되거나 숨겨졌다가 다시 나타날 때 포함됩니다.

    • 사용 사례 : 다른 화면으로 돌아갈 때 게시판의 게시물 목록과 같은 내용을 자동으로 새로 고칠 때 자주 사용됩니다.

onPause()

  • 목적 : 액티비티가 배경으로 들어갈 준비가 될 때 호출됩니다.

  • 기능 :

    • 자원 집약적 작업을 일시 중단하기에 적합합니다. : 예를 들어 , GPS와 같은 작업을 일시 중단합니다.

onDestroy()

  • 목적 : 액티비티가 메모리에서 제거될 때 호출됩니다.

  • 이해 :

    • 메모리 관리 : 가비지 컬렉터(GC)의 메모리 정리 과정의 일부로 실행됩니다.

    • 예측 불가 : 실행 시점은 GC의 활동에 따라 다르며 정확하게 예측할 수 없습니다.

안드로이드 액티비티의 생명주기는 앱 개발에 있어 중요한 측면이며 , 효율적인 자원 관리와 원활한 사용자 경험을 보장합니다. 이러한 생명주기 메소드를 적절하게 처리하면 개발자는 반응이 좋고 자원을 효율적으로 사용하는 애플리케이션을 만들 수 있습니다.

profile
2023.08 ~ Android Kotlin 공부

3개의 댓글

comment-user-thumbnail
2023년 8월 10일

저도 공부한다고 하고, 정리도 나름 했다고 생각했는데 성진님 글로 보니 정리가 덜 된 부분이 많다고 느껴지네요!!!
안드로이드 사용할 때는 그냥 별 생각없이 사용했는데 직접 개발하려고 하니 이런 구조까지 다 알아야 하고 너무 어렵습니다 ㅠㅠ!!

답글 달기
comment-user-thumbnail
2023년 8월 10일

오.. 정리를 되게 잘해주신것 같아요. 이 부분 대강 이해하고 넘어갔는데 이거 보면서 다시금 이해를 해봐야겠네요!!

답글 달기
comment-user-thumbnail
2023년 8월 10일

이 부분이 약간 애매해서 공부가 필요하다고 느꼈는데 자세하게 설명해주셔서 덕분에 많이 배웠습니다. ㅎㅎ

답글 달기