在使用我的应用程序时,屏幕有时会突然莫名其妙地变黑。屏幕仍然通电,如果我使用音量控件,音量指示器显示得很好。
解决此问题的唯一方法是按主页按钮,此时我在日志中看到以下消息:
当我再次打开应用程序时,它很好。
任何人都可以对此有所了解吗?
最佳答案
从 WaveDeck 前端更新:
我们在应用程序的委托(delegate)中以一种糟糕的方式使用了 applicationDidEnterBackground
:要求所有后台操作使用 beginBackgroundTaskWithExpirationHandler
完成并保持主 runloop 在 applicationDidEnterBackground
内运行。
这样 applicationDidEnterBackground
的方法只有在所有后台操作完成后才结束,无论应用程序是否再次处于事件状态。
因此,显然操作系统无法正确“快照”应用程序,并且会在从后台状态返回后的一段时间内显示黑屏 - 当 applicationDidEnterBackground
的委托(delegate)功能结束时。