我有一个AVAudioRecorder
的实例,我注意到当用户使用较大的记录关闭应用程序时,文件无法正确保存。
当我在主线程中调用[recorderObject stop]
并且文件在本地保存时,甚至会发生这种情况。
我也尝试在录制停止后移动文件(在(void)audioRecorderDidFinishRecording:successfully:
方法中)。但是我注意到当我使用NSFileManager
在具有high
优先级的后台线程中移动时,它也不总是完成。
即使用户在完成较长时间的录制后不久退出应用程序,我还有办法确保文件得到保存吗?
由于
答案 0 :(得分:0)
审核Apple's documentation以便在后台执行任务。
移动到后台的应用程序预计将进入后台 尽可能快地保持静止状态,以便它们可以被暂停 由系统。如果您的应用程序处于任务中间并需要一个 很少有额外的时间来完成那个任务,它可以调用
beginBackgroundTaskWithName:expirationHandler:
或beginBackgroundTaskWithExpirationHandler:
的{{1}}方法 对象请求一些额外的执行时间。打电话给 这些方法暂时延迟暂停您的应用程序,并给予它 一点额外的时间来完成它的工作。完成这项工作后, 你的应用必须调用endBackgroundTask:方法让系统 知道它已经完成并且可以暂停。