applicationDidEnterBackground:未被调用

问题描述:

我正在为iPhone创建视频编辑应用程序。applicationDidEnterBackground:未被调用

当用户设置视频编辑并开始渲染时,显然需要时间。当用户按下主页按钮时,应用程序被最小化,但渲染仍然继续,并且applicationDidEnterBackground:不会被调用,除非渲染过程完成。

+0

尝试applicationWillResignActive – jimpic

+0

我认为他们都在同一个线程。并且只有在很短的时间内cpu空闲时才会调用回调。 –

+0

我也尝试了applicationWillResignActive,但它也没有被调用... –

你可以发布执行渲染的代码吗?

如果这是一个需要花费大量时间完成的阻塞调用,并且您正在主runloop中执行此操作,则会堵塞运行循环。您的渲染代码需要在调用applicationDidEnterBackground之前完成,如果这需要太长时间,则iOS将简单地终止您的应用程序。 IT也会冻结你绝对不想要的UI。

最可能的解决方案是将您的渲染代码移动到后台线程,但这取决于您在做什么。