onStart()와onResume()의 대비onStart와onResume는 모두Activity가 보인다고 표시하지만,onStart는Activity가 백스테이지에,onResume는Activity가 프론트에 있다
onPause()가 먼저 실행되어야 새 Activity의 onResume가 실행됩니다(왜 onStop이 실행되고 실행되지 않습니까?)답:onStop은 Activity가 백스테이지에서 물러나지만 일부 새로운 Activity 실행은 낡은 Activity가 백스테이지에서 물러나지 않아도 된다
새 Activity가 투명 테마를 사용한 경우 현재 Activity는 onStop
을 리셋하지 않습니다.
Activity가 시스템에서 회수된 후에 다시 열면 생명주기 방법의 리셋 과정은 처음부터 같지만 모든 과정이 같지 않습니까??
onPause에서 중량급 조작을 할 수 없습니다. onPause가 완성된 후에 새로운Activity를 실행해야만 Resume
를 할 수 있기 때문입니다.
Activity가 비정상적으로 끝난 두 가지 상황:'자원 관련 프로필 변경'과'시스템 메모리 부족'
Activity가 비정상적으로 끝난 상태에서만 onSaveInstanceState가 실행되고 onStop 이전에 호출됩니다. 그와 onPause는 정해진 시간 관계가 없습니다
onRestoreInstanceState는Activity의onStart를 새로 시작한 후에 실행합니다 (왜 더 이상 onCreat을 실행하지 않습니까?)답: 원래의Activity를 재건하기 때문에 초기화 작업이 같고 시스템은onRestoreInstanceState와onCreate를 판단하여Activity가 재건되어야 하는지 아닌지를 판단한다
시스템 이상이 종료된 후 어떻게 인공적으로 데이터를 회복합니까?(onCreat 방법을 사용합니까, 아니면 onRestore InstanceState를 사용합니까?)답: 이론적으로는 다 괜찮지만 공식적으로는 onRestore InstanceState를 추천합니다.onRestore InstanceState가 호출되면 Bundle의 값이 null이 아니라 비공식적인 판단을 할 필요가 없기 때문이다.onCreat은 판단이 필요합니다
minSdkVersion과 targetSdkVersion의 차이점: minSdkVersion은 컴파일 기간과 실행 기간에 모두 작용한다.컴파일하는 동안:minSdkVersion 이하의 API는 사용할 수 없고, 실행하는 동안:minSdkVersion 이하의 휴대전화는 targetSdkVersion이 실행하는 동안 작용하는 것을 설치할 수 없으며, 앱 테스트가 실행되는 Version을 나타낸다.프로그램이 호환 모드로 실행되는지 여부(버전이 낮은 핸드폰은 자동으로 호환 패키지를 사용하여 일부 효과를 실현할 수 있음)를 결정한다. targetSdkVersion이 너무 낮으면 고버전 핸드폰에서 프로그램이 실행될 때 오류가 발생할 수 있기 때문에 일반적으로 최신 버전
을 취한다.
각 Activity마다 자신의 퀘스트 창고가 있고, Activity A가 B를 시작하면 B는 A의 퀘스트 창고에 가입
Activity를 시작할 때 자신의 작업 창고와 시작 방식을 지정해야 합니다. 작업 창고가 존재하지 않으면 작업 창고를 만들고 이벤트를 창고에 넣어야 합니다
Activity에 부팅 모드를 설정하는 데는 두 가지 방법이 있다. 1.AndroidMenifest에서 지정(FLAG ACTIVITY CLEAR TOP은 설정할 수 없음)2.Intent에서 플래그 비트 설정(우선 순위는 높지만singleInstance 모드는 설정할 수 없음)
암시적 호출 Intent (한 개의 Intent가 action과 동시에 일치해야 category와 데이터가 일치합니다)
Intent에 데이터를 설정하려면 setDataAndType 방법을 호출해야 합니다. setData를 먼저 하고 setType을 사용할 수 없습니다. 원본 코드에 따라 두 방법은 서로 상대방의 값을 제거합니다
서비스의 경우 가능한 한 디스플레이 호출 방식으로 서비스를 시작합니다
.
암시적 가동 액티비티는 조건에 맞는 Intent가 있는지 먼저 판단할 수 있다.방법은 두 가지가 있다.Package Manager의 resolveActivity 메서드 2.Intent의 resolveActivity 방법
질문:
onStop-->onRestart 데이터는 어떻게 복구합니까?답: 이때 지난Activity가 소각되지 않았고onCreate 과정이 여전히 존재하기 때문에 직접 onStart를 다시 시작하면 됩니다
singleTop과singleTak의onNew Intent 방법은 어떻게 리셋됩니까?답: 다른Activity가singleTop이나singleTak의Activity를 시작할 때,Activity의onCreate 방법을 사용하지 않고,onNew Intent 방법을 사용합니다.이때setIntent를 다시 불러와야 getIntent로 얻을 수 있습니다
시스템은 백그라운드에서 실행되는Activity를 수시로 죽일 수 있습니다. 만약에 이 모든 일이 발생하면 시스템은 onCreate 방법을 사용하고 onNew Intent 방법을 사용하지 않습니다. 좋은 해결 방법은 onCreate와 onNew Intent 방법에서 같은 처리 데이터를 호출하는 것입니다. 아래와 같습니다.