標籤:style blog class code java color
使用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;}