美文网首页
iOS 后台长久运行

iOS 后台长久运行

作者: 阳明先生x | 来源:发表于2018-06-17 08:53 被阅读154次
// 进程启动但还没完成初始化,这个方法是iOS6之后才有的

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

// 进程启动基本完成      

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

// 应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件

- (void)applicationWillResignActive:(UIApplication *)application   

// 应用程序入活动状态,这个刚好跟上面那个方法相反

- (void)applicationDidBecomeActive:(UIApplication *)application    

// 程序被推送到后台,如果要设置后台继续运行,则在这个函数里面设置即可

- (void)applicationDidEnterBackground:(UIApplication *)application     

// 程序从后台将要回到前台

- (void)applicationWillEnterForeground:(UIApplication *)application   

// 程序将要退出

- (void)applicationWillTerminate:(UIApplication *)application

在以前,当应用被Home键退出后,应用仅有最多5秒的时间做一些保存活清理资源的工作。但是应用可以调用UIApplication的
beginBackgroundTaskWithExpirationHandler 方法,让应用最多有10分钟的时间在后台长久运行。这个时间可以用来做清理本地缓存、发送统计数据等工作。

让程序在后台长久运行的示例代码如下:

//AppDelegate.h 文件

@property (nonatomic , assign) UIBackgroundTaskIdentifier backgroundUpdateTask;

//AppDelegate.m 文件

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [self beginBackgroundUpdateTask];
    
    //此处写需要长久运行的代码

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

    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundUpdateTask];

    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}

相关文章

  • iOS 后台长久运行

    在以前,当应用被Home键退出后,应用仅有最多5秒的时间做一些保存活清理资源的工作。但是应用可以调用UIAppli...

  • iOS后台长久运行

    在以前,当 app 被按 home 键退出后,仅有最多 5 秒钟的时间做一些保存或清理资源的工作。但是应用可以调用...

  • Paper Collection - Background Ta

    1.IOS后台运行机制详解(一)2.IOS后台运行机制详解(二)3.IOS后台运行 之 后台播放音乐4.转载:IO...

  • iOS 短信验证码倒计时按钮

    级别: ★★☆☆☆标签:「iOS 验证码后台倒计时」「NSTimer后台运行」「iOS 定时器后台运行」作者: ...

  • iOS开发笔记:后台

    iOS7程序后台运行

  • iOS 申请后台运行的时间

    iOS 申请后台运行的时间

  • iOS 后台刷新

    [TOC] iOS 后台刷新 首先大概介绍下iOS的APP运行状态简介和后台运行的一些基础知识 1. App运行状...

  • iOS后台运行

    我们知道,当app进入后台以后大约3分钟或者10分钟之后app就会被系统挂起。 最近有个项目需求:App作为web...

  • iOS:后台运行

    当我们有需求,需要应用在后台长久的运行一段时间,此时,就需要用到方法代码仅作记录和分享,详情参考唐巧的相关书籍。 ...

  • iOS后台运行

    iOS为了让设备尽量省电,减少不必要的开销,保持系统流畅,因而对后台机制采用墓碑式的“假后台”。除了系统官方极少数...

网友评论

      本文标题:iOS 后台长久运行

      本文链接:https://www.haomeiwen.com/subject/fggieftx.html