对于一个应用来说,如果你启动的速度太慢,需要用户等待很长时间,那么可能用户的耐心也在这等待中慢慢消失。
首先,我们要搞清楚从点击图标,直到进入界面期间,你的应用发生了什么,主要的事情有:
1.链接并加载所有的framework和静态库
2.UIKit初始化,包括加载字体、状态栏等等
3.应用程序的callback
所以要做的事情有哪些?
1.不需要的Framework和静态库不要添加
2.初始化UIKit时,UserDefaults、main xib会被初始化,所以,保持你的main xib尽可能小,同时在UserDefaults中不要写入类似图片这种过大的数据。
3.应用程序回调,进入application:willFinishLaunchingWithOptions:以及application:didFinishLaunchingWithOptions:这两个方法后,不要在这里进行过多的初始化及其他耗时的操作,因为你会发现这显著的影响了你程序的启动速度。
对于第3点可以采用的优化方案是使用一个初始化界面,内容精简,可以和启动页类似,这样既可以较快的完成应用的加载进入,又可以把之前需要在application:didFinishLaunchingWithOptions这种地方要做的耗时的操作放到这个界面的viewDidAppear中,之后再进行其他的跳转操作之类。而且可以自由控制进入真正的主界面的时间。