iOS多任务处理中的启动屏幕

iOS多任务处理中的启动屏幕,ios,cocoa-touch,ios5,ios4,uikit,Ios,Cocoa Touch,Ios5,Ios4,Uikit,在什么情况下,iOS应用程序会显示初始屏幕,即默认图像(应用程序启动除外) 我强制视图控制器仅支持横向模式 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation ==

在什么情况下,iOS应用程序会显示初始屏幕,即默认图像(应用程序启动除外)

我强制视图控制器仅支持横向模式

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
     return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
}
如果用户在此视图中,并将应用程序推到后台,然后将其重新启动,则应用程序将在<1秒钟内显示初始屏幕

在另一种情况下,如果我打开了UIAlertView,将应用程序推到后台并将其恢复,应用程序会显示一秒钟的初始屏幕

我们是否在UIKit文档中对此有任何解释,以及在什么情况下,iOS中的多任务将在短时间内向用户显示初始屏幕

谢谢

用一个例子更新了问题:


如果我们进入设置应用程序(第一次)->iTunes和应用商店->点击AppleId:row->您将看到一个alertView->Push Home按钮,该按钮将应用程序带到后台->将应用程序重新启动。您将观察设置应用程序的Default.png<1秒,然后显示您之前所在的屏幕。

如果应用程序从头开始,则仅显示Default.png。这意味着它是第一次,或者自上次打开以来完全关闭

如果您只是运行一个标准应用程序,您将在第一次启动时看到Default.png,直到它从系统关闭(因为内存太少)或从用户通过多任务栏关闭。

系统(SpringBoard)负责管理您的应用程序快照。离开应用程序时,快照将作为png文件写入
Library/Caches/Snapshots/com.yourcompany.yourapp/UIApplicationAutomaticSnapshotDefault中-Portrait@2x.png

当你重新启动你的应用程序时,SpringBoard会尝试读取并显示该文件,这样你就会觉得你的应用程序已经很快醒来。如果无法读取该快照文件,则将显示
Default.png

我注意到,
Default.png
仅在您退出并快速重新启动应用程序时才会显示。如果在重新启动应用程序之前等待一到两秒钟,系统将有时间写入快照,并且不会显示
Default.png


由于系统进程正在管理快照的显示,因此在您的应用程序中,绝对无法阻止
Default.png
短暂出现。

在说“启动屏幕”时您是指
Default.png
还是指您为应用程序构建的内容?我指的是Default.png,它仅在应用程序尚未运行且已启动时显示。@直到我用示例更新了我的问题。你能看一下吗。谢谢。我用一个例子更新了我的问题。你能看一下吗。谢谢,这很有趣-以前从未观察过!谢谢你指出这一点。非常奇怪的行为。如果你做屏幕截图,所有的窗口都会被考虑在内——还有AlertView。不仅是钥匙窗。Sry,但是我没有答案给你。在我阅读了0xced答案后,我只是在打开弹出窗口关闭设置应用程序后等待了一段时间。比它更有效。应用程序在启动时正确显示(但没有弹出窗口)。奇怪的是,如果当前显示弹出窗口,系统保存屏幕截图所需的时间要长得多。同样在这种情况下,屏幕截图是在没有alertView的情况下创建的。也许这就是它需要更长时间的原因。这是一个很大的区别。。