초보자용 ActivityLifecycle

대상


Android 초보자

이 기사는 무엇입니까?


ActivityLifecycle 중심의 정보를 모아 안드로이드에서 공부할 때 이해하기 어렵다.

메시지


원래 지킬 필요가있어??


쉽게 말해 액티비티 라이프사이클을 지키지 않으면 자주 떨어지는 앱을 만들 수 있다.화면 초기화 시기는 예상과 달리 폐기 시기가 매우 빠르고 존재하지 않는 참조에 접근...이런 상황을 피하기 위해 이 그림에 따라 인코딩하세요!Activity Lifecycle의 주제입니다.

Activity Lifecycle


"Activity가 태어나서 죽을 때까지 처리하는 순서".
조금만 징징거리면 죽는다는 게 중요한 증거야.

헤헤.이 순서대로 행사라고 해요~
상세한 내용을 기록할 필요가 없다.초보자니까.
대략적인 작용을 함께 기억하자.
한 쌍
타이밍
과업
onCreate, onDestroy
스크린 생성/폐기
처리 화면 생성, 가져오기 및 폐기에 필요한 인스턴스
onStart, onStop
화면 준비 시작, 정지
화면 표시에 필요한 실례의 초기화
onResume, onPause
화면 표시, 뒤로
화면 표시에 필요한 처리 시작, 정지
onRestart
화면 다시 표시
화면을 다시 표시하는 데 필요한 처리를 시작합니다
onCreate를 통해 View를 가져오거나 클래스를 업데이트합니다.
onDestroy에서 인스턴스의 참조를 폐기합니다.
onStart에서 가져온 View에서 이벤트 등록 또는 변수를 초기화합니다.
onStop에서 이벤트 및 변수에 대한 참조를 재설정합니다.
onResume에서 화면 표시를 시작할 때 수행할 처리
onPause에서 화면 표시를 중지할 때 실행할 처리입니다.
항상 예문으로 모든 내용을 onCreate에 쓰지만, 그것은 단지 간소화하기 위해 쓴 것이다.예를 들어 그림에서 보듯이 onCreate는 정말 처음(onRestart를 통해)이라고 불리는데 그 중에서 화면 표시에 필요한 초기화를 진행하면 다른 화면에서 돌아올 때 초기화를 하지 않고 고통스러운 눈을 볼 수 있다.

Activity Stack


다른 화면을 호출할 때는 현재 화면에 놓는다.

노란색 반투명 영역 "Foreground activity"화면을 볼 수 있습니다.
Activity1부터 Start Activity2를 시작하면 Activity1의 뒷면에 주위 Activity2가 위에서 Stack을 볼 수 있습니다.
finish () 맨 위에 있는 Activity면 아래에 놓인 Activity가 표시됩니다.

앱이 언제 죽어도 이상하지 않아요.


"방지할 수 없는 갑작스러운 사망이 발생할 가능성이 높다."

다른 프로그램 등 메모리가 부족한 경우 프로그램은 알림 없이 킬을 합니다.사용자가 다시 시작해야 합니다.생명주기에 기재되어 있다.무섭다...Д゜))
그림에서 보듯이 onDestroy 마니아가 통과하지 못하면 onDestroy에 끝처리를 쓰세요!이런 일을 하면 OS에서 킬이 나올 때 심각한 일이 될 수 있으니 주의해야 한다.

startActivityForResult


반환 값이 있는 Activity 시작
사용 방법은 검색해 보면 나올 수 있지만finish가 startActivityForResult에서 호출한Activity는 원래 화면의onActivityResult로 호출됩니다.
중요한 것은 원래 화면으로 돌아갈 때의 순서다.
스크린
이벤트
다음 화면.
finish()
다음 화면.
onPause
다음 화면.
onStop
원시 화면
onActivityResult
원시 화면
onRestart
원시 화면
onStart
원시 화면
onResume
onActivity Result가 원래 화면으로 되돌아갈 때 Start계의 이벤트 처리 전에 호출됩니다.
온하우스 근처에서 실례를 함부로 망가뜨리면?

총결산


액티비티 라이프사이클은 액티비티를 시작할 때 활동 순서로 불리는데, 대응 상태를 제대로 기술하지 않으면 예상치 못한 순간에 떨어지는 앱이 나오기 때문에 확실히 기억할 필요가 있다.

좋은 웹페이지 즐겨찾기