안드로이드 액티비티는 안드로이드 앱의 기본 구성 요소이며 사용자 인터페이스가 있는 단일 화면을 나타냅니다. 안드로이드 액티비티의 생명주기를 이해하는 것은 효율적이고 반응이 좋은 애플리케이션을 개발하는 데 중요합니다.
onCreate()
목적 : 액티비티가 생성되고 메모리에 로드될 때 시작점 역할을 합니다..
모범 사례 :
초기화 : 최소한 한 번 실행됩니다. 대부분의 초기화 코드는 여기에 위치합니다.
효율성 : onCreate
내부의 코드를 최소화하여 가독성을 향상시킵니다. 이것이 BaseActivity
를 사용하는 이유 중 하나입니다.
재사용 : 가능한 경우 액티비티는 재사용됩니다. 뒤로 가면 기존 액티비티가 재사용됩니다. 새로 생성되지 않는 한 onCreate
는 실행되지 않습니다.
새 인스턴스 : Intent
를 통해 시작된 액티비티는 항상 새로 생성되므로 , onCreate
는 매번 실행됩니다.
onResume()
목적 : 액티비티가 화면 전환 시 마다 실행됩니다.
주요 사항 :
수동 재정의 필요 : onResume
은 기본적으로 작성되지 않습니다. 사용하려면 재정의해야 합니다.
가시성 : 새로 생성되거나 숨겨졌다가 다시 나타날 때 포함됩니다.
사용 사례 : 다른 화면으로 돌아갈 때 게시판의 게시물 목록과 같은 내용을 자동으로 새로 고칠 때 자주 사용됩니다.
onPause()
목적 : 액티비티가 배경으로 들어갈 준비가 될 때 호출됩니다.
기능 :
onDestroy()
목적 : 액티비티가 메모리에서 제거될 때 호출됩니다.
이해 :
메모리 관리 : 가비지 컬렉터(GC)의 메모리 정리 과정의 일부로 실행됩니다.
예측 불가 : 실행 시점은 GC의 활동에 따라 다르며 정확하게 예측할 수 없습니다.
안드로이드 액티비티의 생명주기는 앱 개발에 있어 중요한 측면이며 , 효율적인 자원 관리와 원활한 사용자 경험을 보장합니다. 이러한 생명주기 메소드를 적절하게 처리하면 개발자는 반응이 좋고 자원을 효율적으로 사용하는 애플리케이션을 만들 수 있습니다.
저도 공부한다고 하고, 정리도 나름 했다고 생각했는데 성진님 글로 보니 정리가 덜 된 부분이 많다고 느껴지네요!!!
안드로이드 사용할 때는 그냥 별 생각없이 사용했는데 직접 개발하려고 하니 이런 구조까지 다 알아야 하고 너무 어렵습니다 ㅠㅠ!!