Быстрое чтение файла приводит к увеличению использования памяти. Это утечка? - PullRequest
1 голос
/ 10 июля 2020

Я читаю файл с диска на Ma c. Следующий код в функции продолжает увеличивать использование памяти на go. У меня нет какой-либо переменной, чтобы ссылаться на «содержимое», просто попробуйте прочитать его и подумайте, что система выпустит его после выхода из функции. но это не так. Система фактически освобождает память только после завершения for-l oop.

Мой вопрос в том, как позволить системе освободить объект «содержимого» после выхода из функции чтения? Я даже задерживаю 10 секунд после вызова функции в l oop.

import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override var representedObject: Any? {
        didSet {
        // Update the view, if already loaded.
        }
    }

    @IBAction func onRead(_ sender: NSButton) {
        
        for n in 0..<100
        {
            readFile()
            sleep(10)//not enough time for system to recycle the memory??
        }
    }
    
    func readFile()
    {

       print ("test read file")
       let content = FileManager.default.contents(atPath: "/Users/swiftuser/Documents/testfile.txt")
                        
    }
    
}
...