IT/Android

안드로이드 생명주기(Lifecycle) 가 뭐에요?

jaewon_sss 2023. 6. 17. 18:46
반응형

안녕하세요

모바일 안드로이드 AOS 소스 분석하는데 처음엔 Activity가 뭐고.. xml 은 뭐고...

모바일 개발은 처음이라 모르니까 어렵더라구요?

웹개발자 커리어를 쌓고싶었는데 ㅠ

근데 이것저것 분석하다보니 Activity 에는 생명주기라는 것이 있다는 걸 알았어요

그래서 오늘 포스팅은 안드로이드 생명주기에 대해 자세히 알아보고

각 단계에서 수행할 수 있는 작업과 주의해야 할 점에 대해 적어보려합니다.

 

 

안드로이드 생명주기(Lifecycle)

 

안드로이드 생명주기는 애플리케이션이 실행되고 종료될 때 발생하는 일련의 단계와 이벤트를 의미합니다.

 

안드로이드 애플리케이션의 생명주기는 크게 다음과 같은 6개의 단계로 나눌 수 있습니다.

 

onCreate()

애플리케이션이 생성되고 초기화 작업이 수행되는 단계입니다.

이 단계에서는 주로 레이아웃 설정, 데이터 로딩 등의 초기 설정 작업을 수행합니다.

주로, 필요한 리소스의 할당과 초기화를 진행합니다.

 

onStart()

액티비티가 사용자에게 표시되기 직전에 호출됩니다.

애플리케이션의 인터페이스가 사용자에게 보여지기 전에 필요한 설정이나 리소스를 준비하는 작업을 수행할 수 있습니다.

 

onResume()

액티비티가 전면에 나타나고 사용자와 상호작용할 수 있는 상태가 되었을 때 호출됩니다.

이 단계에서는 사용자 입력을 처리하거나 애니메이션을 시작하는 등의 작업을 수행합니다.

 

onPause()

액티비티가 일시적으로 중단되거나 다른 액티비티가 화면을 가리는 경우에 호출됩니다.

예를 들어, 전화가 왔을 때나 알림 메시지가 표시될 때 onPause() 메서드가 호출됩니다.

이 단계에서는 사용 중인 리소스를 저장하거나 애니메이션을 일시 중지하는 등의 작업을 수행합니다.

 

onStop()

액티비티가 더 이상 사용자에게 표시되지 않을 때 호출됩니다.

예를 들어, 다른 액티비티로 전환되거나 애플리케이션이 종료될 때 onStop() 메서드가 호출됩니다.

이 단계에서는 애플리케이션의 상태를 저장하거나 백그라운드에서 실행 중인 작업을 정리하는 등의 작업을 수행합니다.

 

onDestroy()

액티비티가 소멸되기 직전에 호출됩니다.

이 단계에서는 리소스를 정리하고 메모리 누수를 방지하는 등의 작업을 수행합니다.

 

 

 

안드로이드 생명주기를 이해하고 활용하기 위해서는 다음과 같은 중요한 개념을 알고 있어야 합니다.

 

 

상태 유지

애플리케이션이 중지되거나 소멸되더라도 중요한 데이터나 상태 정보를 저장하고 복원할 수 있어야 합니다.

이를 위해 onSaveInstanceState()와 onRestoreInstanceState() 메서드를 사용할 수 있습니다.

 

리소스 관리

애플리케이션 실행 중에 사용하는 리소스(메모리, 네트워크 연결 등)를 적절하게 관리해야 합니다.

불필요한 리소스 사용을 최소화하고 메모리 누수를 방지하는 등의 작업이 필요합니다.

 

사용자 경험

생명주기 이벤트를 활용하여 사용자 경험을 향상시킬 수 있습니다.

예를 들어, 액티비티 전환 시 애니메이션을 적용하거나 백그라운드에서 실행 중인 작업을 일시 중지하여 배터리 수명을 연장할 수 있습니다.

 

 

안드로이드 생명주기는 애플리케이션의 실행과 종료를 관리하는 핵심 개념입니다.

이를 이해하고 적절하게 활용하는 것은 안드로이드 앱 개발의 기초입니다.

생명주기에 따른 작업 처리와 리소스 관리는 안드로이드 앱의 성능과 사용자 경험에 직접적인 영향을 미치므로, 반드시 고려해야 합니다.

 

 

이상으로 안드로이드 생명주기에 대해 알아보았습니다.

생명주기에는 단계가 있고 각 단계마다 역할이 있으며 적절하게 관리를 해야한다는 사실을 알게 되었어요.

조금 더 체계적이고 보기 좋은 코드를 작성할 수 있을 것도 같고....

갈 길이 멀군요

 

어쨌든

 

.

반응형