Ich benutze CFStreamCreateBoundPair
, um ein Paar von Stream zu erstellen, um eine große Datei hochladen.Der Code ist wie folgt.CFStreamCreateBoundPair kann nicht frei
let readStreamPointer = UnsafeMutablePointer<Unmanaged<CFReadStream>?>.alloc(1)
let writeStreamPointer = UnsafeMutablePointer<Unmanaged<CFWriteStream>?>.alloc(1)
let bufferSize = 1024*1024 //1M buffer size
CFStreamCreateBoundPair(kCFAllocatorDefault, readStreamPointer,writeStreamPointer, Int(bufferSize) as CFIndex)
if let rStream = readStreamPointer.memory?.takeRetainedValue(),writeStream = writeStreamPointer.memory?.takeRetainedValue() {
}
Alles geht gut, außer einem Speicher mit Instrumenten issue.I Check-out und CFStreamCreateBoundPair
herausfinden kann, nicht die Erinnerung an Puffergröße befreien, die in diesem Fall ist 1M, nachdem sowohl die CFReadStream
und CFWriteStream
sind closed.I eine haben Screenshot auch.
Ich bin nicht vertraut mit Core Foundation Framework in Swift und weiß nicht, warum es nicht automatisch veröffentlicht werden kann. Hier