防止线程在后台被挂起

防止线程在后台被挂起

在系统方法 - (void)applicationDidEnterBackground:(UIApplication *)application  中调用以下方法

UIApplication*  app = [UIApplication sharedApplication];

    __block    UIBackgroundTaskIdentifier bgTask;

    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{

        dispatch_async(dispatch_get_main_queue(), ^{

            if (bgTask != UIBackgroundTaskInvalid)

            {

                bgTask = UIBackgroundTaskInvalid;

            }

        });

    }];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        dispatch_async(dispatch_get_main_queue(), ^{

            if (bgTask != UIBackgroundTaskInvalid)

            {

                bgTask = UIBackgroundTaskInvalid;

            }

        });

    });

你可能感兴趣的:(防止线程在后台被挂起)