防止线程在后台被挂起

2018-02-08  本文已影响95人  崔又淇

防止线程在后台被挂起

在系统方法 - (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;

            }

        });

    });

上一篇 下一篇

猜你喜欢

热点阅读