액티비티는?finish()는 Android에서 작동합니까?
누군가 어떤 일이 일어나는지 설명해 줄 수 있나요?Activity
그것을 호출하다finish()
방법?
즉시 종료합니까, 아니면 호출된 기능을 완료합니까?
즉시 종료하거나 호출된 기능을 완료합니까?
가 호출한 메서드finish()
이 완료됩니다.그finish()
조작은 Android로 복귀할 때까지 시작되지 않습니다.
라이프 사이클의 모든 이벤트와 같은onCreate
,onResume
,onPause
....onDestroy
항상 단일 스레드인 "기본 스레드"에서 호출됩니다.
즉, 이 스레드는 모든 액티비티 이벤트가 게시되는 큐에 의해 백업됩니다.이 스레드는 이러한 모든 이벤트를 삽입 순서대로 실행할 수 있습니다.
전화하시는 경우finish()
라이프 사이클의 콜백 중 하나에서onCreate()
...이 큐에 "message" 메시지가 추가되지만 현재 실행 중인 메서드가 다음과 같이 반환될 때까지 스레드는 "message" 액션을 선택하여 실행할 수 없습니다.스레드가 현재 작업에서 해방됩니다.
ondestroy()
는, 액티비티가 파괴되기 전에 수신하는 최종 콜입니다.
이 문제는 액티비티가 종료 중이기 때문에 발생할 수 있습니다(누군가 전화했습니다).finish()
또는 시스템이 공간을 절약하기 위해 이 액티비티 인스턴스를 일시적으로 파기하기 때문입니다.이 두 가지 시나리오를 구별할 수 있습니다.isFinishing()
방법.
액티비티 A와 B가 2개 있는 경우.플로우는 A >B에서 B =A 콜로 되어 있습니다.finish()
.
그리고나서,
전화하신 방법finish()
from은 마크의 설명대로 실행됩니다.콜백의 흐름은 다음과 같습니다.
onPause()
의activity A
onRestart()
>onStart()
>onResume()
액티비티 B의- 그리고 진정한 차이가 있다.전화하지 않은 경우
finish()
부터activity A
;만onStop()
의Activity A
를 여기로 호출합니다.이 사건에서 우리가 전화한 곳은finish()
부터Activity A
; 그래서onStop()
그리고.onDestroy()
둘 다 요구될 것이다activity A
.
언급URL : https://stackoverflow.com/questions/2590947/how-does-activity-finish-work-in-android
'programing' 카테고리의 다른 글
여러 축에서 시계열 데이터를 집계하고 있습니까? (0) | 2023.02.01 |
---|---|
MariaDB Server vs MariaDB Galera 클러스터 HA 리플리케이션 (0) | 2023.02.01 |
MySQL에서 SELECT 문을 사용하여 테이블 이름 가져오기 (0) | 2023.02.01 |
Seaborn 플롯을 파일에 저장하는 방법 (0) | 2023.02.01 |
프로그램 방식으로 SearchView를 열려면 어떻게 해야 합니까? (0) | 2023.02.01 |