zoukankan      html  css  js  c++  java
  • iOS 应用程序启动时要做什么

    当您的应用程序启动(无论是在前台或后台),使用您的应用程序委托application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:方法来执行以下操作:

    • 检查启动选项字典的内容,了解有关启动应用程序的原因,并做出相应的响应。

    • 初始化您的应用程序的关键数据结构。

    • 准备您的应用程序的窗口和视图以供显示:

    在启动时,系统会自动加载您的应用程序的main Storyboard加载初始视图控制器。

    application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions:方法应该始终尽可能轻量级,以减少您的应用程序的启动时间。应用程序预计将启动,初始化UIWindow,并在不到5秒钟内开始处理事件。如果应用程序没有及时完成其启动周期,则系统会将其杀死而无法响应。因此,任何可能会减慢启动速度的任务(例如访问网络)都应该安排在辅助线程上执行。

    当您的应用程序启动时,它将从未运行状态转移到活动状态或后台状态,并在非活动状态中短暂转换。作为启动周期的一部分,系统为您的应用程序创建一个进程和主线程,并main在该主线程上调用您的应用程序的功能。mainXcode项目附带的默认函数会立即将控制权移交给UIKit框架,UIKit框架完成初始化应用程序并准备运行的大部分工

    下图显示了将应用程序启动到前台时发生的事件序列,包括调用的应用程序委托方法。

    当您的应用程序启动到后台时(通常是为了处理某种类型的后台事件),启动周期会稍微改变为下图所示的状态主要区别在于,您的应用不是处于活动状态,而是进入后台状态以处理该事件,并可能在此之后的某个时刻暂停。在启动到后台时,系统仍会加载应用的用户界面文件,但不会显示应用的窗口。

    要确定您的应用程序是启动到前台还是后台,请在您的委托方法中检查applicationState共享UIApplication对象属性当应用程序启动到前台时,此属性包含该值当应用程序启动到后台时,该属性将包含该值您可以使用此差异来相应地调整委托方法的启动时间行为。

    application:willFinishLaunchingWithOptions:

    application:didFinishLaunchingWithOptions:

    UIApplicationStateInactive

    UIApplicationStateBackground

    应对临时中断

    当发生基于警报的中断(例如来电)时,应用程序暂时移至不活动状态,以便系统可以提示用户如何进行。该应用程序保持这种状态,直到用户解散警报。此时,应用程序将返回到活动状态或移动到后台状态。
    显示了发生基于警报的中断时,通过您的应用程序发生的事件流。

    当您的应用程序进入前台时该怎么做

    回到前台,您的应用程序有机会重新启动它移到后台时停止的任务。移动到前台时出现的步骤如图4-4所示applicationWillEnterForeground:方法应该撤销在您的applicationDidEnterBackground:方法中完成的任何操作,并且该applicationDidBecomeActive:方法应该继续执行与启动时相同的激活任务。

    以上查阅与苹果官方文档, 原文地址: 

    https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html#//apple_ref/doc/uid/TP40007072-CH8-SW2

  • 相关阅读:
    项目后台的最新认识和对MVC封装性、可维护性的更深刻认识!
    java综述
    android模拟器里输出程序:HelloWorld
    JAVA程序员必去的网站
    1.MVC框架复习 2.Ajax加强 3.搜索建议 4,三级联动 5、刷新分页 6、Ajax局部动态更新数据
    jQuery的几个例子流程讲解
    1.jQuery基础语法 2.jQuery选择器、操作页面文档元素 3.jqueryDOM操作 4.jqueryCSS操作 5.Jquery事件 6.Jquery动画
    成功站长应具备的良好心态
    java的学习步骤方法书籍大总结
    Java常用类
  • 原文地址:https://www.cnblogs.com/quxiangfu/p/8442641.html
Copyright © 2011-2022 走看看