我想在应用程序终止之前停止AVAssetWriter
会话。当用户手动终止应用程序或操作系统终止应用程序以释放其他应用程序的内存时,如何确保调用UIApplicationWillTerminateNotification
?
我不关心因内存警告而终止,只有应用程序已经发送到后台的情况。
答案 0 :(得分:5)
如果您明确将应用程序设置为不在后台运行(通过设置“应用程序不在后台运行”键),只要用户按下主页按钮,您的应用程序就会终止,它将收到applicationWillTerminate:
消息。
但是,如果您的应用程序没有设置此密钥,它可能永远不会收到applicationWillTerminate:
消息,因为当它被系统终止时,它已经被暂停。在这种情况下,请考虑在AVAssetWriter
方法中停止applicationDidEnterBackground:
。
希望这有帮助!
答案 1 :(得分:2)
你做不到。应用程序决定何时发送,通常不会发送。
如果您在后台运行,则应在到期处理程序中执行所有清理操作。您也可以使用backgroundTimeRemaining
知道何时会被终止。