我有FileManager的内存泄漏问题。 我的代码就是这样;
func saveImageToDocumentDirectory(image: UIImage, name: String, then handler: @escaping () -> Void) {
DispatchQueue.global(qos: .background).async {
autoreleasepool {
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileName = name // name of the image to be saved
let fileURL = documentsDirectory.appendingPathComponent(fileName)
if let data = UIImageJPEGRepresentation(image, 0.2),!FileManager.default.fileExists(atPath: fileURL.path){
do {
try data.write(to: fileURL)
handler()
print("file saved")
} catch {
handler()
print("error saving file:", error)
}
}
}
}
}
处理程序响应后,它不会从内存中删除。例如,它以60MB开始,然后增加190MB,当所有图像保存后,它不会减少到60MB。