首页 > 解决方案 > 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)
        }
    }

如果有人有任何想法为什么在删除(删除)时没有释放空间以及如何改变以使其做到这一点,我将非常高兴谢谢。

标签: iosswift

解决方案


推荐阅读