gpt4 book ai didi

ios - 为什么 iOS 启动屏幕然后快照然后主屏幕?

转载 作者:行者123 更新时间:2023-11-28 13:55:28 27 4
gpt4 key购买 nike

当我终止我的 iOS 应用程序并重新启动它时,我看到的快速屏幕顺序是

  1. 启动屏幕。 LaunchScreen.storyboard 中定义的屏幕。
  2. 快照。 iPhone 上次将我的应用置于后台时创建的屏幕图像。
  3. 主屏幕。我在 AppDelegateapplication(_:didFinishLaunchingWithOptions:) 方法中设置的 ViewController

从我读过的 Apple 文档来看,似乎在应用程序启动期间,如果存在快照,则 iOS 使用该快照而不是启动屏幕。为什么我同时看到启动屏幕快照?

这个屏幕录像显示了这个问题。启动屏幕是红色的。主屏幕是白色的。第二个屏幕是绿色的。我导航到绿屏,然后将应用程序置于后台,让 iOS 截取绿色屏幕截图。然后我杀了应用程序。重新启动应用程序时,顺序为启动/红色、屏幕截图闪烁/绿色、主页/白色。我在装有 iOS 12.1.1 的 iPhone 6 上进行测试。

https://imgur.com/a/EMX4dM1

来自 https://developer.apple.com/documentation/uikit/uiapplication/1623097-ignoresnapshotonnextapplicationl

As part of the state preservation process, UIKit captures your app’s user interface and stores it in an image file. When your app is relaunched, the system displays this snapshot image in place of your app’s default launch image to preserve the notion that your app was still running.

最佳答案

我无法确认您的描述。我的测试表明,如果您过早地终止您的应用程序,那么在下一次启动时,之前的后台屏幕截图将被丢弃,而只使用启动屏幕。

这是我的测试:

  • 启动画面是红色的

  • 初始 View Controller 的 View 是白色的

  • 辅助 View Controller 的 View 是绿色的

这是发生了什么:

  1. 您会看到我启动,然后从白色 View 移动到绿色 View 。

  2. 然后我将应用置于后台以确保拍摄快照。

  3. 然后我将应用程序带回前台,然后进入应用程序启动器,这样您就可以看到快照,它确实是绿色的。

  4. 然后我终止应用程序并重新启动它。我在这部分电影中使用了慢动作,你可以清楚地看到我们使用了红色的启动屏幕并逐渐淡入初始 View Controller 的白色;绿色再也不会出现。

enter image description here

也许您的测试程序有问题(仅在设备上测试)。也许启动时进入了错误的屏幕,然后又跳回了开始屏幕(这似乎是最有可能的解释)。

关于ios - 为什么 iOS 启动屏幕然后快照然后主屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53936423/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com