Tag: 应用生命周期

简要介绍iOS应用程序生命周期

iOS应用程序生命周期是一个非常大而复杂的主题。 我将尽力解释它。 下图来自斯坦福大学的iOS编程课程,从我看来,它清楚地表示了应用程序的生命周期。 让我们深入研究它,并尝试了解正在发生的事情以及原因。 实际上,当用户启动一个应用程序,浏览它,将其发送到后台,启动另一个应用程序,从内存中卸载它,应用程序将“消息”发送到应用程序委托类时,您可以从那里捕获并处理它们。 应用程序在不同的生命周期状态中移动,这些状态由其活动级别定义,例如未运行,不活动,活动,后台,已暂停。 关于应用状态的几句话: 未运行-应用尚未启动或系统已将其关闭。 无效-启动之前的应用程序状态。 应用程序正在运行,但正在执行其他操作,尚无法与用户交互一起使用。 活动-在前台运行并与用户合作的应用的正常状态。 应用程序接收事件,更新UI。 背景-背景状态,表明应用程序仍在运行,但用户看不到它的界面。 已暂停-应用程序仍在设备内存中,但是代码未运行。 如果发生内存不足的情况,系统可能会在不通知的情况下终止应用程序。 关于应用程序委托和在不同生命周期状态下调用的方法的几句话: 首先让我指出,应用程序委托是UIApplication对象调用的一组方法,用于响应应用程序生命周期中的重要事件。 它将确保应用程序与系统以及其他应用程序进行预期的交互。cI将指出最重要的应用程序委托方法。 应用程序成功启动启动过程后: 应用程序:willFinishLaunchingWihtOptions 叫做。 这是执行任何代码的第一个机会。 如果启动成功: 应用程序:didFinishLaunchingWithOptions 方法被调用。 同时,应用程序发布通知UIApplicationDidFinishLaunchingNotification。 当应用程序完成启动并准备好显示任何窗口时,将调用此方法,因此这是准备界面的最后机会。 在上图中,这些进程的状态标记为数字1。 申请生效后: applicationDidBecomeActive 叫做。 当您的应用程序从非活动状态转换为活动状态时,将调用此方法。 [箭头2。] 如果用户按下了主页按钮或启动了另一个应用程序: applicationWillResignActive 调用,并发布UIApplicationWillResignActiveNotification。 当应用程序过渡到非活动状态时,将调用此方法。 对于某些类型的临时中断(例如打来的电话或SMS消息),或者当用户退出应用程序并开始过渡到背景状态时,可能会发生这种情况。 您可以在图中的数字3下看到此过程。 进入非活动状态后 applicationDidEnterBackground 被调用,并开始向后台过渡。 在图中,此过程在箭头4下方列出。也许还不清楚,但是我所指的箭头方向是从非活动状态到背景状态。 如果应用程序没有被用户终止或被系统杀死,则可以返回到前台,它是箭头5,与箭头4相反。调用的方法是: applicationWIllEnterForeground 但是该应用未移至活动状态,但仍保持不活动状态。 我要向您介绍的最后一个委托方法: applicationWillTerminate。 当终止事件被触发时,它通知委托。 强制退出应用程序或关闭设备会触发该方法。 这意味着该应用程序将从内存中完全删除。 箭号8。 可能您想知道暂停状态。 我没有透露太多信息,因为应用程序在进入后台模式后正处于这种状态。 这是当应用程序在后台但未运行实际代码时的状态。 […]

处理应用程序生命周期

嗨,我的IOS开发人员。 在这里,我将向您展示当应用程序从前台转到后台时,如何遮罩View(应用程序的当前屏幕)。 当回到前台时,您将看到实际视图。 在印度,当Paytm应用从背景和前景过渡时,您可以在Paytm应用中看到这种生命周期处理。 在Project App委托类中,我获取了带图像的imageView。 然后,在application(didFinishLaunchOptions)中添加了观察者。 因此,每当应用转换时,就会调用这些观察者,依此类推 取决于那些选择器,imageview将被添加到窗口根viewcontroller的视图中,并将被从超级视图中删除。 4.最后,我从applicationWillTerminate()方法中删除了观察者。 相当容易! 对??? 如果您知道任何更好的方法,请让我知道如何处理这种功能。 谢谢!! 如果您喜欢我的教程,请在媒体上关注我。 您可以通过我的推特或linkedIn帐户与我联系。 谢谢阅读。 很快就会有更多教程变得更好。 再见!!!