IOS App 后台運行


使用block的另一個用處是可以讓程序在后台較長久的運行。在以前,當app被按home鍵退出后,app僅有最多5秒鍾的時候做一些保存或清理資源的工作。但是應用可以調用UIApplication的beginBackgroundTaskWithExpirationHandler方法,讓app最多有10分鍾的時間在后台長久運行。這個時間可以用來做清理本地緩存,發送統計數據等工作。

讓程序在后台長久運行的示例代碼如下:

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

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

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM