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


    现在有一个需求:

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

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

    - (void)applicationWillResignActive:(UIApplication *)application //应用即将进入后台
    
    
    - (void)applicationDidEnterBackground:(UIApplication *)application //应用已经进入后台
    
    
    - (void)applicationWillEnterForeground:(UIApplication *)application //应用即将回到前台
    
    
    - (void)applicationDidBecomeActive:(UIApplication *)application//应用已经回到前台

    这时候问题来了:

    进入后台的时候,应该调用applicationWillResignActive,还是applicationDidEnterBackground

    进入前台的时候,应该调用applicationWillEnterForeground,还是applicationDidBecomeActive

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

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

    而在这期间,我们的应用一般是不会因为内存问题退出的,在applicationWillResignActive里归档没有太大意义

    在有电话的时候也是同样的

    所以我们可以把归档放在applicationDidEnterBackground里

    同理把解档放在applicationDidBecomeActive里

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

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

          解档会在代理进行

  • 相关阅读:
    Stm32cubemx_v6-1-1 提示需要JDK8版本,但已经安装JDK11 exe4j
    [Linux 内核驱动开发] 根据设备寻找驱动等信息
    DNS/mDNS/DoH/DoT 等DNS协议概括
    常用的在线工具网站
    计算机学科名词解析:透明
    Makefile 的用处,解决已包含头文件但还是 undefined reference to
    Oracle DataBases 12C Realeased2
    jz2440 开发板玩法
    树莓派 Zero W 安装与内核驱动开发入门
    深度学习与机器人结合 帮你做家务
  • 原文地址:https://www.cnblogs.com/chebaodaren/p/9530287.html
Copyright © 2020-2023  润新知