Android 활동이란 무엇이며 수명 주기는 어떻게 되나요? - 기술
콘텐츠로 건너뛰기

Android 활동이란 무엇이며 수명 주기는 어떻게 됩니까?

모바일 애플리케이션 개발의 주요 개념 중 하나는 활동의 개념이며, 이는 애플리케이션의 기초가 됩니다. 이번에는 활동이 무엇으로 구성되어 있고 수명 주기가 무엇인지 살펴보겠습니다.

광고


공식 Android 개발자 페이지에서 활동이 무엇을 나타내는지에 대한 자세한 설명을 찾을 수 있습니다(https://developer.android.com/guide/components/activities/intro-activities) 여기에서 우리는 그들과 그들의 수명 주기에 대한 일반성을 볼 것입니다.


우리는 이미 Android 애플리케이션이 다양한 그래픽 구성요소 또는 보기로 구성되어 있으며, 추가로 그래픽 인터페이스가 애플리케이션의 논리와 독립적일 수 있도록 하는 디렉토리 구조를 가지고 있으며 화면은 다음을 포함하는 xml 파일을 통해 관리됨을 확인했습니다. 레이아웃 또는 콘텐츠 관리자와 로직은 Activity 클래스에 해당하는 활동에서 작동합니다. 활동 내부에 있는 프래그먼트라는 또 다른 개념도 있지만 나중에 다룰 내용입니다.


활동 클래스는 애플리케이션의 주요 구성 요소 중 하나입니다. 시스템 로직과 사용자가 상호 작용할 내용을 관리하므로 앱 구축의 기초가 됩니다. Android 애플리케이션은 애플리케이션 실행을 유지하기 위해 정의된 수명 주기가 있는 활동의 인스턴스로 시작합니다.


수명 주기에 들어가기 전에 모바일 앱의 작동 방식이 다른 앱의 작동 방식과 다르다는 점을 분명히 하는 것이 매우 중요합니다. 모바일 앱은 main() 메서드를 통해 시작하는 데스크톱 앱과 달리 특정 시작점이 없습니다. 응용 프로그램은 모든 화면에서 시작할 수 있습니다(시작 명령을 내릴 수 없다는 의미는 아닙니다).


내부적으로는 화면 전환 시 액티비티간 호출(혹은 동일한 액티비티 내 프래그먼트 교체)이 이루어지며, 동일하게 애플리케이션 간 전환 시 초기 액티비티를 호출하여 애플리케이션이 호출됩니다.


응용 프로그램은 일반적으로 여러 개의 화면으로 구성되며 이는 서로 통신하는 여러 활동을 갖는 것과 동일합니다. 응용 프로그램이 모든 활동에서 시작할 수 있다고 이미 언급했지만 활동은 항상 기본 활동 MainActivity로 정의됩니다(비록 반드시 첫 번째로 표시될 필요는 없음) 거기에서 새 활동 또는 프래그먼트를 호출하는 시스템에서 탐색의 시작점을 표시합니다.

매니페스트 파일(AndroidManifest.xml)


이전 항목에서 우리는 매니페스트 파일에 대해 이야기했습니다. 매니페스트 파일은 애플리케이션의 주요 요소를 매개변수화할 수 있는 구성 파일입니다. 여기에서 애플리케이션 ID, 이름, 아이콘, 여기에 포함된 활동과 같은 정보를 찾을 수 있습니다. 다른 중요한 항목 중에서 권한.



활동이 생성되면 androidStudio는 자동으로 AndroidManifest.xml 파일에서 매개변수화를 처리하고 여기에서 필터 또는 속성을 추가하여 애플리케이션의 추가 작업을 결정할 수도 있습니다. 예를 들어 이전 이미지에서 MainActivity가 활동 시스템 메인(첫 번째로 표시된 것) 이후 속성과 함께 추가됩니다. <action android:name="android.intent.action.MAIN" />

활동 수명 주기.


활동은 실행 중에 여러 상태를 거치며 이러한 상태는 활동과의 사용자 상호작용을 통해 발생합니다. 동작을 관리하기 위해 구현할 수 있는 메서드, 예를 들어 화면을 변경할 때 비디오 플레이어를 일시 중지하거나 애플리케이션을 종료할 때 연결 프로세스를 취소할 수 있습니다. Android 개발자 페이지에서 이러한 메서드의 세부 정보를 찾을 수 있습니다. 작동 방식을 보여주는 다음 다이어그램:


다음은 각 상태에 대한 요약입니다.


  • onCreate()

    이 메소드는 Activity에서 기본적으로 생성되며 setContentView() 메소드를 통해 그래픽 부분에 해당하는 레이아웃을 참조하기 시작할 때 활성화되며, 가장 먼저 실행되는 메소드입니다.

  • onStart()

    onCreate()가 닫히면 활동이 생성됨에서 시작됨으로 상태가 변경되고 사용자에게 표시됩니다. 여기에서 보기와 활동이 대화형이 됩니다.

  • 한마디로()

    활동을 시작한 후 사용자 상호 작용 정보 처리를 담당하는 onResume() 상태가 변경됩니다. 여기에서 사용자가 입력하는 모든 것이 인식되고 캡처됩니다.

  • onPause()

    활동이 포커스를 잃고 중단된 경우 일시정지 상태가 호출됩니다. 예를 들어 사용자가 뒤로 버튼을 누르거나 화면을 변경하면 활동이 닫히는 동안 활동이 여전히 부분적으로 표시됨을 의미합니다.

    이 상태에서 다시 onResume() 또는 onStop()으로 돌아갈 수 있습니다.

  • 온스톱()

    이 상태는 활동이 사용자에게 더 이상 표시되지 않을 때 시작됩니다. 활동이 삭제되었거나 중지된 활동이 다시 활성화되거나 새 활동이 시작되기 때문일 수 있습니다. 이 경우 중지된 활동은 더 이상 사용자에게 표시되지 않습니다. 사용자. 여기에서 onRestart() 또는 onDestroy()를 호출할 수 있습니다.

  • onRestart()

    시스템은 중지된 활동이 다시 시작하려고 할 때 이 상태로 들어갑니다. 여기에서 활동 상태는 중지된 순간부터 복원되고 onStart()가 호출됩니다.

  • onDestroy()

    마지막으로 시스템은 활동을 삭제하기 전에 이 메서드를 호출합니다. 이것은 활동이 거치는 마지막 상태이며 활동의 모든 리소스를 닫거나 해제할 때 구현됩니다.


이러한 방법은 다음과 같이 프로젝트에서 구현할 수 있습니다.


따라서 애플리케이션을 시작할 때 logcat에서 동작을 볼 수 있습니다.

이것으로 액티비티가 무엇으로 구성되어 있고 수명 주기를 어떻게 제어할 수 있는지 확인한 다음 기본 애플리케이션 작업을 계속할 수 있습니다.

그것은 또한 당신이 관심을 가질 수 있습니다.




이 항목에 대해 추가하거나 언급할 사항이 있습니까? 부담없이….그리고 당신이 그것을 좋아한다면... 나는 당신이 공유하도록 초대합니다 와이 이와 같은 게시물을 더 많이 들으려면 "이 사이트 가입" 버튼을 클릭하여 구독하십시오. 😉