后臺保持

使用block的可以讓程序在后臺較長久地運行.在以前,當應(yīng)用被按Home鍵退出后,應(yīng)用僅有最多5秒鐘的時間做一些保存或清理資源的工作.但是應(yīng)用可以調(diào)用UIApplication的beginBackgroundTaskWithExpirationHandler方法,讓應(yīng)用最多有10分鐘的時間在后臺長久運行.這個時間可以用來做清理本地緩存、發(fā)送統(tǒng)計數(shù)據(jù)等工作.
讓程序在后臺長久運行的示例代碼如下:

//AppDelegate.h文件
@property (nonatomic, assign)UIBackgroundTaskIdentifier backgroundUpdateTask ;

//AppDelegate.m文件
- (void)applicationDidEnterBackground:(UIApplication *)application {
    [self beingBackgroundUpdateTask];
    //這里加上你需要長久運行的代碼
    NSLog(@"1");
    [self endBackgroundUpdateTask];
}

- (void)beingBackgroundUpdateTask {
    self.backgroundUpdateTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:^{
        [self endBackgroundUpdateTask];
    }];
}

- (void)endBackgroundUpdateTask {
   [[UIApplication sharedApplication]endBackgroundTask:self.backgroundUpdateTask];
    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 當iphone應(yīng)用程序進行網(wǎng)絡(luò)編程時,切到后臺后,socket連接會斷掉,ios的設(shè)計就是這樣。 但是好在appl...
    stonl閱讀 4,810評論 2 2
  • 項目中需求所需,遇到這個問題,進行以下解決: 使用NSTimer的時候,發(fā)現(xiàn)每次APP進入后臺,或者屏幕休眠后,N...
    MissLu16閱讀 1,449評論 1 0
  • IOS開發(fā)之----詳解在IOS后臺執(zhí)行 文一 我從蘋果文檔中得知,一般的應(yīng)用在進入后臺的時候可以獲取一定時間來...
    dongfang閱讀 1,467評論 0 7
  • 文一 我從蘋果文檔中得知,一般的應(yīng)用在進入后臺的時候可以獲取一定時間來運行相關(guān)任務(wù),也就是說可以在后臺運行一小段時...
    Kloar閱讀 1,620評論 0 1
  • 今夜,獨守孤燈,正對著書卷陷入沉思。忽而,一陣初冬的寒風悄然而來,似一只幽靈,從深邃遙遠的天際而來,慢慢的靠近...
    優(yōu)雅的魔方閱讀 227評論 0 0

友情鏈接更多精彩內(nèi)容