applicationDidEnterBackground

applicationDidEnterBackground

在使用我的应用程序时,屏幕有时会突然莫名其妙地变黑。屏幕仍然通电,如果我使用音量控件,音量指示器显示得很好。

解决此问题的唯一方法是按主页按钮,此时我在日志中看到以下消息:



当我再次打开应用程序时,它很好。

任何人都可以对此有所了解吗?

最佳答案

从 WaveDeck 前端更新:

我们在应用程序的委托(delegate)中以一种糟糕的方式使用了 applicationDidEnterBackground:要求所有后台操作使用 beginBackgroundTaskWithExpirationHandler 完成并保持主 runloop 在 applicationDidEnterBackground 内运行。

这样 applicationDidEnterBackground 的方法只有在所有后台操作完成后才结束,无论应用程序是否再次处于事件状态。

因此,显然操作系统无法正确“快照”应用程序,并且会在从后台状态返回后的一段时间内显示黑屏 - 当 applicationDidEnterBackground 的委托(delegate)功能结束时。

10-08 06:04