当我点击我的iPhone应用程序图标时到底发生了什么?

时间:2011-03-12 16:26:58

标签: iphone launch

我的应用程序需要很长时间才能加载,我不知道为什么。添加:在实际调出Default@2x.png之前,它会在主屏幕上停留3-4秒。

当我点按图标时,有人能告诉我装的是什么吗?它是 applicationDidFinishLaunching 的方法吗?还是资源?

4 个答案:

答案 0 :(得分:7)

作为一个非常一般的答案:Apple在iOS应用程序编程指南的The Application Life Cycle部分详细说明了这一点。

值得注意的是该部分的第一个图表。引言段落后面的相当不言自明的流程图(强调我的解决您的具体查询):

  

应用程序生命周期构成应用程序启动和终止之间发生的事件序列。在iOS中,用户通过点击主屏幕上的图标来启动您的应用程序。点击发生后不久,系统会显示一些过渡图形,并通过调用其main功能继续启动应用程序。 从现在开始,大部分初始化工作将移交给UIKit,UIKit会加载应用程序的主nib文件并准备事件循环。

     

http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/Art/app_life_cycle.jpg

至于为什么你的应用程序加载缓慢,你不提供任何其他信息,所以我只能说明你的笔尖正在加载哪些资源,

  • 图像是非常大的,还是有很多图像?

查看您的app delegate的application:didFinishLaunchingWithOptions:方法及其可能调用的相关设置例程,

  • 如果您有任何数据加载例程,他们是否在应用程序的文档目录中使用所有(例如)并一举将它们加载到内存中?

    < / LI>
  • 您的数据是如何存储的?平面/简单文件(例如XML或plists)可能听起来不是什么大问题,因为它们只是基本的I / O,但是当涉及到大型数据存储或复杂的对象关系时,Core Data或SQLite往往表现出色。

此外,乐器是你的朋友。

答案 1 :(得分:2)

XCode附带了一些非常棒的内置分析工具。作为第一步,我将使用乐器启动您的应用程序并配置初始化代码,这将是发现您正在吃饭的最快捷方式。

了解如何使用这些工具的最佳方法是阅读Apple的文档here

尝试了解应用程序启动过程也是一个好主意,我写了一篇简短的博客文章here,希望对此有所帮助。

答案 2 :(得分:0)

据我所知,资源是由您自己手动加载的,或者是从.nib文件加载视图时加载的。

不确定,但认为框架是在应用启动时加载的

可能你的拳头屏幕包含很多物品,所以有装载。

在应用程序启动后调用

applicationDidFinishLaunching

答案 3 :(得分:0)

操作系统至少会加载您的窗口,初始视图控制器和视图xib,它们包含的任何图像,以及运行视图控制器,视图和/或应用程序委托所需的任何初始化代码。

如果您想要快速启动,请使用非常简单的初始窗口视图,稍后加载图像(声音等),并将所需的任何其他初始化(网络访问,数据库加载等)推送到后台线程。