为什么applicationDidBecomeActive在通知中心完全打开后立即调用?

时间:2018-04-06 22:56:31

标签: ios iphone ios11 application-lifecycle

我一直在玩iOS应用程序生命周期来学习它。我创建了一个超级简单的应用程序,它只打印调用的应用程序委托方法。但是,我观察到一些奇怪的行为。

[案例1]当我从底部向上滑动到打开控制中心时,我只得到跟随的委托方法(我只是打开它,不要关闭):

  1. applicationWillResignActive
  2. [案例2]当我从上到下滑动到打开通知中心时,我得到以下序列(同样在这里 - 只需打开它,不要关闭):

    1. applicationWillResignActive //我在这里开始拖动
    2. applicationDidBecomeActive //通知中心已打开,我的应用不应该在这里完全无效吗?
    3. applicationWillResignActive
    4. 当Notification Center完全打开时,方法2和3几乎立即被调用(看起来在调用之间约为1毫秒或更短),这令人困惑。

      所以问题是:

      • 这是预期的行为吗?
      • 如果是,那么在didBecomeActive中应该/可能会采取什么行动?
      • 从用户点操作如此相似导致应用程序生命周期行为如此不同的iOS /编程点之间的区别是什么?

      P.S。使用最新的Xcode(9.3)和iOS(11.3)在iPhone和模拟器上获得相同的结果。

0 个答案:

没有答案