iOS -- app生命周期中代理方法的应用场景

如今有一个需求:app

在应用进入后台的时候把用户数据归档,应用再次展现的时候进行解档,从中取出数据代理

 

在appdalegate里有四个相关代理方法code

- (void)applicationWillResignActive:(UIApplication *)application //应用即将进入后台


- (void)applicationDidEnterBackground:(UIApplication *)application //应用已经进入后台


- (void)applicationWillEnterForeground:(UIApplication *)application //应用即将回到前台


- (void)applicationDidBecomeActive:(UIApplication *)application//应用已经回到前台

 

这时候问题来了:blog

进入后台的时候,应该调用applicationWillResignActive,仍是applicationDidEnterBackground内存

进入前台的时候,应该调用applicationWillEnterForeground,仍是applicationDidBecomeActiveio

 

 

在使用home键或者iPhoneX上滑退出的时候,没有什么区别class

 

可是,在从应用进入多任务后台时,applicationWillResignActive调用,applicationDidEnterBackground没有调用,而后在多任务后台又点击应用进入,applicationWillEnterForeground调用,applicationDidBecomeActive不掉用后台

而在这期间,咱们的应用通常是不会由于内存问题退出的,在applicationWillResignActive里归档没有太大意义方法

在有电话的时候也是一样的数据

因此咱们能够把归档放在applicationDidEnterBackground里

同理把解档放在applicationDidBecomeActive里

 

另外,applicationWillTerminate是应用在被清除的时候调用的,归档方法在这里也要被调用

 

 

ps:这个需求实际上是个伪需求,用户信息归档应该在获取用户信息和用户信息变动的时候进行的,不会放在代理里面

      解档会在代理进行

相关文章
相关标签/搜索