2017-09-05 11 views
0

:onPause() 실행이 매우 짧은 이유는 무엇입니까? 이 링크 <a href="https://developer.android.com/guide/components/activities/activity-lifecycle.html" rel="nofollow noreferrer">https://developer.android.com/guide/components/activities/activity-lifecycle.html</a>의 안드로이드 문서에 따르면

onPause() 실행은 매우 짧은이며, 반드시 저장 작업을 수행 할 수있는 충분한 시간 여유가 없습니다. 이러한 이유로 onPause()를 사용하여 응용 프로그램 또는 사용자 데이터를 저장하거나 네트워크 호출을 수행하거나 데이터베이스 트랜잭션을 실행하지 마십시오. 그러한 작업은 방법이 완료되기 전에 완료되지 않을 수 있습니다. 대신에 onStop()을 수행하는 동안 과부하 중단 작업을 수행해야합니다.

내가 이해하지 못하는 점은 어떻게 onPause() 메소드의 실행을 매우 간략하게 만들 수 있습니까? 지금까지 내가 아는 한 onPause() 메서드가 호출되면 그 코드 행을 실행할 때까지 완료되지 않습니다. 아니면 내가 틀렸어?

답변

1

사용자가 앱으로 돌아올 때 onPause() 메서드 호출이 실행을 완료합니다.

데이터 저장에 5 초가 소요됩니다. 이것은 사용자가 앱을 메모리에 보유 할 때 시작됩니다. 그러나 사용자가 이제 5 초 내에 앱에 입장한다고 가정 해 보겠습니다. 이 호출은 onPause()를 중지하고 onResume()을 시작합니다. 데이터가 올바르게 저장되었는지 확신 할 수 없을 것입니다.

+0

내 질문을 다시 읽으면 활동이 파괴되는 것을 알 수 있습니다. – HiddenDroid

+0

같은 원칙 :) 앱이 파괴되고 휴대 전화 메모리에서 꺼지 자마자 onPause()를 재정 의하여 onStop()을 호출합니다. onPause()는 "새로 사용 된 앱"화면에있을 때만 유지되므로 계산이 끝날 때 사용자가이를 무시할 수 없습니다. 이유는 사용자가 재정의 할 때마다 달라지기 때문입니다. –