2014-11-01 3 views
0

장기 실행 백그라운드 작업 완료 후 바로 내 앱이 일시 중지되지 않는 이유는 무엇입니까?장기 실행 백그라운드 작업 완료 후 일시 중지되지 않는 앱

iOS 8에서 실행되는 앱은 백그라운드로 들어갈 때 일시 중지되는 것을 피하기 위해 장기 실행 백그라운드 작업을 사용합니다. 모두 양호합니다.입니다. 작업이 완료되면, 응용 프로그램은 백그라운드 작업 완료 핸들러를 호출

 [[UIApplication sharedApplication] endBackgroundTask:backgroundTask]; 
     backgroundTask = UIBackgroundTaskInvalid; 

그러나, backgroundTimeRemaining에 대한 호출은 40 초 시간 간격을 반환합니다.

[[UIApplication sharedApplication] backgroundTimeRemaining] 

실제로 앱은 작업을 마친 후 적어도 20 초 동안 일시 중지되지 않습니다.

  • 왜 이런 일이 발생합니까?
  • 앱이 항상 전체 실행 시간을 받습니까?
  • 앱 일시 중지를 서두를 수 있습니까?

답변

0

더 디버깅 한 후 backgroundTimeRemaining은 작업 완료시 즉시 업데이트되지 않습니다. 실행 루프가 회전 한 후 잠시 후 앱이 일시 중지됩니다. backgroundTimeRemaining은 항상 정확해야합니다.