从暂停状态终止应用后,应用界面快照会短暂闪烁

时间:2018-11-26 14:13:59

标签: ios swift uikit

我如何实现预期的行为?

当前行为

将应用从挂起状态终止会短暂刷新操作系统拍摄的最后一个应用快照。

事物的呈现顺序,在挂起状态终止后启动:

  1. 启动屏幕故事板图像
  2. 最后一个可见屏幕的应用快照-与主页按钮启动的多任务菜单中的快照相同
  3. 具有初始视图的根视图控制器

预期行为

不参与状态恢复的应用终止时,应使用默认启动映像启动。我希望这样。

事物的呈现顺序,在挂起状态终止后启动:

  1. 启动屏幕故事板图像
  2. 具有初始视图的根视图控制器

复制人

  1. 运行应用
  2. 按下主屏幕按钮-将应用移至后台
  3. 双击主页按钮-打开多任务菜单
  4. 向上滑动应用程序-终止它
  5. 再次打开

我的设置

我的UIViewController子类完全以编程方式实现-没有Xib或Storyboard。

LaunchScreen是一个情节提要。

我已明确确保该应用程序不参与状态恢复,并在应用程序委托中提供以下信息:

 func application(_ application: UIApplication,
      shouldSaveApplicationState coder: NSCoder) -> Bool { return false }

 func application(_ application: UIApplication, 
      shouldRestoreApplicationState coder: NSCoder) -> Bool { return false }

我的Info.plist,具有以下设置:

 Application does not run in background = NO

注释

我了解UIViewController的ignoreSnapshotOnNextApplicationLaunch()方法中的encodeRestorableState(with coder: NSCoder),并且通常会设置一个可恢复的状态-除非我不想拥有一个可恢复的状态。

我希望该应用程序:

  • 无论出于何种原因,只要终止就重新启动
  • 从未终止的暂停状态返回
  • 在暂停后终止后启动时不刷新应用快照

在App Delegate的applicationWillResignActive(application:)applicationDidBecomeActive(application:)方法中创建和销毁视图也无济于事。

做到这一点的最佳方法是什么?

0 个答案:

没有答案