2016-03-18 5 views
0

Instrumente zeigt, dass ich viele dauerhafte Zuordnungen mit CGDataProviderCopyData erstellt habe.CGDataProviderCopyData, das Daten beibehält

Ich rufe CGDataProviderCopyData und Freigabe der Datenreferenz mit CFRelease danach. Ich verwende einen UInt8-Punkt zu den Daten mit CFDataGetBytePtr.

Dieser Code in einer UIImaveView Kategorie getan

CGImageRef imageRef = self.image.CGImage; 

    CGDataProviderRef provider = CGImageGetDataProvider(imageRef); 
    CFDataRef pixelData = CGDataProviderCopyData(provider); 
    const UInt8* data = CFDataGetBytePtr(pixelData); 

    // do stuff with data... 

    CFRelease(pixelData); 

Ich bin nicht sicher, warum, wenn ich Pixeldata CFRelease verwenden beibehalten wird.

Antwort

0

Sie sollten den Anbieter Mitteilung:

CGDataProviderRelease(provider); 
Verwandte Themen