iOS发布映像下会发生什么?

iOS发布映像下会发生什么?,ios,launching-application,load-time,Ios,Launching Application,Load Time,如果我试图减少我的应用程序的加载时间(即,在初始视图控制器出现之前启动图像可见的时间),我应该将精力集中在哪里?我发现了一些关于长启动时间的问题(比如),但它们似乎只关注first View控制器的性能。我正在寻找更多关于应用程序生命周期最开始的信息,以及我可能能够清理哪些方法来提高启动映像的持续时间 我想象应用程序:在AppDelegate中使用选项完成启动:可能会在该时间窗口中被调用,但还会做其他事情吗?假设一个基本的应用程序设计来自一个Xcode模板,没有异常的构建规则或类似的东西。除了d

如果我试图减少我的应用程序的加载时间(即,在初始视图控制器出现之前启动图像可见的时间),我应该将精力集中在哪里?我发现了一些关于长启动时间的问题(比如),但它们似乎只关注first View控制器的性能。我正在寻找更多关于应用程序生命周期最开始的信息,以及我可能能够清理哪些方法来提高启动映像的持续时间


我想象
应用程序:在
AppDelegate
中使用选项完成启动:
可能会在该时间窗口中被调用,但还会做其他事情吗?假设一个基本的应用程序设计来自一个Xcode模板,没有异常的构建规则或类似的东西。除了
didFinishLaunching
和first view控制器的加载方法之外,我还应该查看其他地方吗?

你说得对。另外,请确保您的第一个viewcontrollers预出现方法是轻的(例如,init、viewdiload、viewwillbeen)


要验证哪种方法真正有效,可以将NSThreads sleepForTimeInterval放在战略点上。当然,只有在调试/开发期间。

您是正确的。另外,请确保您的第一个viewcontrollers预出现方法是轻的(例如,init、viewdiload、viewwillbeen)


要验证哪种方法真正有效,可以将NSThreads sleepForTimeInterval放在战略点上。当然,只能在调试/开发期间进行。

您可能应该学会使用工具来确定您的程序在做什么。“时间剖面仪”将是一个很好的起点

抽象地回答这个问题几乎是不可能的。真正的答案是“这取决于你的应用程序是如何编写的。”

系统将在您的应用程序委托上调用init方法,以及class方法+initialize(如果您有-您可能没有)

如果您使用的是情节提要,系统将打开应用程序的情节提要,并确定哪个视图控制器是根视图控制器。它将加载该视图控制器并调用它。因此,调用该视图控制器所涉及的所有方法都将触发

完成后,将调用didFinishLaunching:withOptions方法。你应该确保这个方法不会做任何需要很长时间的事情,比如从互联网下载内容


如果您确实需要在启动时下载内容,您应该异步下载。

您可能应该学会使用工具来了解您的程序在做什么。“时间剖面仪”将是一个很好的起点

抽象地回答这个问题几乎是不可能的。真正的答案是“这取决于你的应用程序是如何编写的。”

系统将在您的应用程序委托上调用init方法,以及class方法+initialize(如果您有-您可能没有)

如果您使用的是情节提要,系统将打开应用程序的情节提要,并确定哪个视图控制器是根视图控制器。它将加载该视图控制器并调用它。因此,调用该视图控制器所涉及的所有方法都将触发

完成后,将调用didFinishLaunching:withOptions方法。你应该确保这个方法不会做任何需要很长时间的事情,比如从互联网下载内容

如果您确实需要在发布时下载内容,那么应该异步下载