切后台开启任务避免挂起
/** 进入后台 */
- (void) appEnterBackground {
// 开启后台任务,避免被suspend
__block UIBackgroundTaskIdentifier bgTask;
dispatch_queue_t bgTaskQ = dispatch_queue_create("com.ksyun.backgroundTask.queue", DISPATCH_QUEUE_SERIAL);
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ {
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(bgTaskQ, ^{
int cnt = 0;
while ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
NSLog(@"runing %d", cnt++);
sleep(1);
}
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
未经作者授权,禁止转载
本文来自博客园,作者:CoderWGB,转载请注明原文链接:https://www.cnblogs.com/wgb1234/articles/18948834
THE END

浙公网安备 33010602011771号