Android 애플리케이션의 수명주기

기본 가이드 프로그래밍 Android-2

C ++ 또는 Java와 같은 언어로 프로그래밍을 시작할 때 가장 먼저 배우는 것은 애플리케이션을 시작할 때 운영 체제가 호출하는 지점 인 기본 메소드입니다.

Android에는 이와 같은 주요 방법이 없지만 SSOO가 발생할 때 호출되는 몇 가지 활동 방법이 있습니다. 중요한 사건들. 이 장에서는 이러한 이벤트가 무엇인지, 그리고 어떻게 작동하는지에 대해 자세히 연구 할 것입니다. 활동의 전체주기 안드로이드 공식 문서 이 주제에 대한 광범위한 설명을 제공합니다. 여기서는 가장 중요한 요소를 처리 할 때 발생하는 몇 가지 일반적인 실수와 함께 연구 할 것입니다.

Android의 수명주기는 다음 체계를 따릅니다.

안드로이드 라이프사이클

라이프 사이클 이벤트

  1. onCreate (번들)
    • 순간을 나타냅니다 활동이 생성됩니다.. 이 메서드는 일반적으로 Android에서 새 활동을 만들 때 마법사에 의해 생성되며 여기에서 활동에 필요한 모든 것을 만들 수 있습니다. 이전에 활동 데이터를 Bundle 개체에 저장 한 경우이를 사용하여 다시 생성 할 수 있습니다. 일반적으로 사용하지 않습니다.
  2. onStart ()
    • 활동은 계속됩니다 화면에있다, 반드시 표시되지는 않습니다. 정류장에서 오면 먼저 onRestart ()를 진행합니다.
  3. onRestart ()
    • onStop () 호출에서 onStart () 이전.
  4. onResume ()
    • 활동이 시작됩니다 상호 작용에 반응하다 사용자.
  5. onPause ()
    • 활동은 응답 중지 사용자 상호 작용에.
  6. onStop ()
    • 활동은 완전히 갔다 배경.
  7. onDestroy ()
    • 활동 그것은 파괴 될 것이다 리소스가 해제되었습니다.

이러한 방법 중 하나를 구현해야 할 때 다음 프로필을 사용하여 활동에 추가합니다.

공용 클래스 MyActivity는 활동을 확장합니다. {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} 보호 된 void onStart () {super.onStart (); ...} 보호 된 void onRestart () {super.onRestart (); ...} 보호 된 void onResume () {super.onResume (); ...} protected void onPause () {... super.onPause (); } protected void onStop () {... onStop (); } protected void onDestroy () {... super.onDestroy (); }}

유지하는 것이 중요합니다 슈퍼 클래스 메서드 호출 놀라움을 만나지 않도록. 우리의 활동 위에있는 각 이벤트의 임무는 유지되어야합니다. 이 호출은 입력 이벤트의 시작과 출력 이벤트의 끝으로 이동합니다. 이런 식으로 우리가 필요하지만 우리가 통제 할 수없는 활동의 요소는 사용하기 전에 만들어지고 나중에 파괴 될 것이기 때문에 우리는 놀라움을 피할 것입니다.

모든 이벤트를 추가 할 필요는 없습니다., 우리가 필요하지 않은 것은 기본 구현을 사용합니다. 우리가 자주 사용할 메서드는 onCreate, onPause 및 onRestart입니다.

onCreate의 의미는 명확합니다. 필요한 리소스, 뷰 및 기타 필요한 모든 것을로드 할 위치입니다. 출력의 경우 초점을 맞출 유일한 방법은 onPause입니다. onStop 및 onDestroy를 피하는 이유는 우리가 이들을 제어 할 수 없기 때문입니다. onPause는 애플리케이션이 포 그라운드에서 나올 때마다 실행되고 나머지 두 개는 필요에 따라 운영 체제에서 실행됩니다. 절대 처형 될 수 없습니다! 이것은 활동에서 데스크탑으로 또는 그 반대로 이동하는 경우 활동을 반복적으로 작성하는 비용을 피하기 위해 수행되며 운영 체제는 필요한 경우에만 사용 된 자원을 해제하고 모두 참석할 필요가 없습니다. 오픈 프로세스.

이는 우리가 onPause를 실행 한 후 응용 프로그램이 죽을 것이라고 가정하고 우리의 것임을 의미합니다. 데이터를 저장할 마지막 기회 저장하고 지리적 위치와 같이 사용중인 서비스를 중지해야합니다. 서비스를 중지 한 경우 서비스를 다시 시작할 적절한 위치는 onRestart입니다.

다른 방법은 많이 사용할 필요가 없습니다. Facebook 또는 Flurry와 같은 타사 라이브러리를 통합 할 때 필요한 일반적인 경우입니다. 이 경우 활동 방법을 귀하의 코드와 일치시켜야합니다. 예를 들어 Flurry 세션을 등록하려면 onStart 메서드에서 세션을 시작하라는 메시지가 표시됩니다.

유용한 아이디어

  • 각 이벤트의 목적을 기억하십시오.. 항상 onCreate가 필요하며 가장 많이 사용되는 서비스를 중지하고 다시 시작하려면 onPause 및 onResume이 필요합니다.
  • 다른 이벤트를 만지지 마십시오 명시 적으로 필요하지 않은 경우.
  • onStop 및 onDestroy를 신뢰하지 마십시오. 그들은 결코 호출되지 않을 수 있습니다. onPause에 필요한 모든 것을 저장하십시오.
  • 최종이 아닌 정적 변수 사용 방지. 돌아올 때 앱을 계속로드 할 수 있으며 남겨진 값은 그대로 유지됩니다. 선택의 여지가 없으면 사용하지 않으면 전경으로 돌아갈 때 값을 재설정하십시오.

추가 정보 - Android 프로그래밍 기본 가이드


관심 분야 :
Android에서 바이러스를 제거하는 방법
Google 뉴스에서 팔로우

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 담당 : Actualidad 블로그
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.