2011-12-05 2 views
2

백그라운드로 이동 한 후에 OS에서 약간의 시간을 요청하면 백그라운드 작업이 실행되지 않는다는 인상을 받았다. 또는 b) 3 개의 UIBackgroundMode 중 하나를 사용하는 경우). 배경 타이머 생성에 관한 상황과의 혼동

그러나이 스레드는 따라서 배경을 달성하기 위해 실제로 가능하다는 것을 의미, 아니 배경 응용 프로그램에 대한 일반적인 제한으로 만든 것을 언급하는 거기 스레드에서 그러나 배경 타이머

iOS4 Create Background Timer

를 만드는 방법에 대해 이야기 타이머를 통한 exeuction.

누군가가이를 분명히 할 수 있습니까?

performSelector : withObject : afterDelay를 긴 지연 시간 (몇 시간 또는 며칠)으로 호출 한 다음 응용 프로그램이 백그라운드로 이동하고 UIBackgroundMode가없는 경우 해당 시간이 지나면 어떻게됩니까?

답변

0

왜 테스트하지 않습니까?

응용 프로그램 (및 실행 루프)이 일시 중지 된 다음 전경에서 다시 타이머를 시작하면 평소와 같이 계속됩니다. NSTimer에 대한 설명서를 읽는다면 어떻게 작동하는지 힌트를 얻을 수 있습니다.

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html

타이머의 발사 시간이 긴 선 중 또는 실행 루프가 타이머를 모니터링하지 않는 모드에있는 동안, 타이머가 다음 시간까지 발생하지 않습니다 발생하면 실행 루프 검사 타이머. 따라서 타이머가 실제로 실행되는 실제 시간은 예약 된 실행 시간 이후 중요한 시간이 될 수 있습니다.

이 문맥에서는 긴 설명 선에 대해 이야기하지만 일시 중지/이력서는 아마도 비슷한 효과를 나타냅니다.

0

타이머는 앱이 포 그라운드에있을 때 사용됩니다. 그것은 주 스레드의 "백그라운드"에서 실행된다는 의미에서 백그라운드 타이머입니다.

+0

해당 스레드에서 op 상태를 요구 사항으로 사용합니다. "어떻게 스레드를 백그라운드로 유지할 수 있습니까?" 그러므로 나는 그의 질문을 생각해 봤다. 따라서 응답은 그것이 요구되는 맥락 안에서 이루어진다. 배경에 남아있는 실이 요구된다면 이것은 제공된 응답이 부적절하다는 것을 의미합니까? – Gruntcakes

관련 문제