我試圖更好地瞭解iOS在後臺應用的行爲。我有以下動作的按鈕:iOS應用在後臺永久運行
- (IBAction)createTask:(id)sender { for(int i = 0; i < 10000; ++i){ NSURL *url = [NSURL URLWithString:@"http://agronigeria.com.ng/wp-content/uploads/2013/06/cocoa.jpg"]; NSData *data = [NSData dataWithContentsOfURL:url]; NSLog(@"Image number %d with size %lu", i, (unsigned long)[data length]); NSLog(@"Time before task is killed: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]); }
}
只要我輕點按鈕,我按home鍵,發送應用程序到後臺。我期待這個很快就會停止(沒有特殊背景模式的應用程序最長可以在後臺運行的最長時間是多少?)。相反,它只是永遠。 10分鐘後,我停止了它。即使當backgroundTimeRemaining
返回0時,它也會繼續。
發生了什麼?
PS我在安裝了iOS 7的4S上運行這個。
HTTP://www.raywenderlich .com/29948/backgrounding-for-ios希望這可以幫助你 –
在iOS 7上,在設置菜單的常規部分有一個條目。它被稱爲「在後臺刷新應用程序」,它可能會讓應用程序在後臺保持活躍狀態。該功能是否打開? – Kevin
@凱文它確實打開了。我把它關掉了,而且我得到了同樣的行爲。 :-( – cfischer