ios - FileManager.default.removeItem 不清除存储
问题描述
我正在使用 FileManager.default.removeItem 从本地路径中删除视频,并且在 removeItem 消失后可以使用视频,但未释放设备上使用的视频的空间。因此,经过足够长的时间(导入/删除视频)后,我的测试手机充满了无法删除的数据,因为它还不存在。
当我转到手机上的设置时,我可以查看我的应用程序使用了哪些空间,我可以在我删除视频时删除我的应用程序使用的数据,但一般可用空间根本没有改变。
这是我用来删除视频和相关数据 json 数据的代码(recordingFileUrl 是 json 的 URL 类型,videoUrl 也是视频的 URL 类型):
private let fileManager = FileManager.default
func delete() throws {
autoSave = nil
let dataUrl: URL = recording.id.recordingFileUrl
if fileManager.fileExists(atPath: dataUrl.path) {
try fileManager.removeItem(at: dataUrl)
}
let videoUrl: URL = recording.videoUrl
if fileManager.fileExists(atPath: videoUrl.path) {
try fileManager.removeItem(at: videoUrl)
}
}
如果有人有任何想法为什么在删除(删除)时没有释放空间以及如何改变以使其做到这一点,我将非常高兴谢谢。
解决方案
推荐阅读
- git - 尝试在 Mac 上安装 Git 自动完成功能
- javascript - 使用带有自定义标头的 fetch() 时获取 401 错误代码
- python - 在此代码上出现长度不匹配错误,这是什么意思?
- c++ - 我不确定我是否理解这个问题第 6 部分的措辞
- c++ - 如何使用 strcpy_s() 将多个 char* 字符串复制为一个?
- spring-mvc - 如何将值从 html 表行绑定到 thymeleaf 对象并发送到 Spring MVC 控制器的 modelAttribute
- python - 为 django 模型中的字段生成对 unique_together 关系的最终用户友好描述
- r - 当我尝试遍历 R 中的一行数据帧并将值放入向量中时,这些值最终会发生变化。是什么原因造成的?
- unity3d - Unity 试图访问被破坏的对象
- reactjs - ChakraUI & Typescript 自定义主题