Утечка памяти в FileManager - PullRequest
       70

Утечка памяти в FileManager

0 голосов
/ 18 декабря 2018

У меня проблема утечки памяти с 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)
                }
            }
        }
    }
}

После ответа обработчика он не удаляется из памяти.Например, он начинается с 60 МБ, затем поднимается до 190 МБ, при сохранении всех изображений он не уменьшается до 60 МБ.

...