在iOS Splash Screen中会发生什么?
当您启动iOS应用程序时,您经常会看到闪屏或启动图像。
在此屏幕中,哪些初始化步骤发生?
在这个阶段你能控制什么?
如何缩短屏幕显示的时间?
我们的应用需要很长时间才能加载(特别是第一次)。 理想情况下,我想放置某种进度条而不是静态图片...
当iOS将应用程序加载到内存中时,会显示启动屏幕。 没有什么可以控制的,这将会发生。
在你的main.m
加载int main(int argc, char *argv[])
,这会加载一个UIApplication
并将你的appdelegate设置为它的委托。 之后- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
被调用,您可以控制从这一点发生的事情。
当您返回YES
-application:didFinishLaunchingWithOptions:
,启动屏幕将立即被删除。
如果您的应用需要花费很长时间才能加载,则应尽快退出-application:didFinishLaunchingWithOptions:
任何需要加载的资源都可以在后台运行的队列中分派,这样您的应用将更快启动并加载数据而不阻塞任何UI线程。
系统需要在此期间加载主视图,以缩短时间,请尽可能少地在didFinishLaunchingWithOptions
,以便您的第一个视图控制器尽快显示,然后在第一个屏幕上显示渐进视图