전화가 배터리를 소모 할 때 onDestroy 메서드가 호출됩니까? 나는 그렇지 않다고 생각한다. 불행히도, 지금 당장 이걸 시험해 볼 전화가 없어요. 그렇지 않으면 스스로 확인 만 할거예요.휴대 전화가 다 소모되면 응용 프로그램에서 onDestroy가 호출됩니까?
답변
실제로 어떤 일이 발생할지를 알 수 없습니다. 정상적인 상황에서 onDestroy()
이 호출되는지에 대해서도 의문의 여지가 있습니다. BACK
버튼 또는 Activity
의 이벤트가 명시 적으로 finish()
를 호출에 발생하는 경우를 사용할 때 Activity
에서 onDestroy()
이라고해야 할 몇 가지 상황
하나입니다. 결과 및 이론적으로 Activity
이 중지되고 (onStop()
이 호출 된 다음) 삭제됩니다 (onDestroy()
가 호출 됨).
프로세스가 실제로 '사망'경우 앱 구성 요소의 깨끗한 종료가 제공되는 모호성 WRT는 - 그들은 기본적으로 강제로 어떤 것을 방지 일반적으로 실행 상태에 관계없이 메모리가 부족 과정을 찢어으로 작업 살인자가 너무 악 이유는 정리 작업이 발생합니다.
배터리가 절대 최소 상태 일 때와 같이 시스템은 실행중인 프로세스를 가능한 한 깔끔하게 종료 할 수있는 수준으로 최선을 다하지만 정상적으로 수행 할 수 있다고 보장 할 수는 없습니다. 특히
, 당신이 필요가있는 '미션 크리티컬'데이터 나 상태를 저장해야하는 경우가 중지 될 때 Activity
이 onStop()
에 (즉, onPause()
또는 적어도 (일시 중지되면 다음) 그것을 할.
나는 개인적으로 거의 내가 위에서 설명한 한 이유 onDestroy()
의 사용을하지 않습니다 - 일반적으로 내가 창조 작업 -> 시작 -> 이력서 -> 일시 정지 -> 정지 -. 다시 시작 라이프 사이클 방법
마지막으로, 앱은 여러 가지 구성 요소 (활동, 서비스 및 명시 적 또는 암시 적 애플리케이션)를 가질 수 있음을 기억해야합니다. 낮은 박쥐의 경우 이러한 구성 요소 각각은 다르게 처리 될 수 있습니다. 그러나 프로세스가 메모리를 찢어 버리고 강제로 중지 된 경우 데이터를 저장할 계획이 아니라면 배터리를 다시 충전하고 앱을 다시 시작한 후에는 무엇을 발견할지는 아무런 보장이 없습니다. 또는 상태.
희망을 (전원 버튼을 에뮬레이션 F7을)를 전원을 끄기에 의해 시뮬레이터에서 테스트 할 수
도움이됩니다!
'나는 그렇지 않다고 생각한다. '전화기에 0.0 % 배터리가 남아있을 때, 실제로 0.5 % 남았습니다. 실제로 죽기 전에 모든 것을 셧다운하는 데 사용한다고 생각하지만, 그것은 단지 –
입니다. 나는 그것을하는 것이 합리적이라고 생각합니다. 전화가 실제로 종료되고 모든 응용 프로그램이 파괴되면 onDestroy는 에뮬레이트 된 전원 버튼을 사용하여 –