私のiPhone 4には、次のような状況で警告メッセージが表示されます: Amazon S3を使用しています。私は、次のコードでNSMutableData
に私の選択した画像を変換しています:私はループでこれを実行するとメモリリークを取得する - NSData変換
CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL);
CFDictionaryRef options = (__bridge CFDictionaryRef)@{(id)kCGImageSourceCreateThumbnailWithTransform: (id)kCFBooleanTrue,
(id)kCGImageSourceCreateThumbnailFromImageIfAbsent: (id)kCFBooleanTrue,
(id)kCGImageSourceThumbnailMaxPixelSize: [NSNumber numberWithDouble: maxSize],
(id)kCGImageDestinationLossyCompressionQuality: [NSNumber numberWithDouble:compressionQuality]};
CGImageRef thumbnail = CGImageSourceCreateThumbnailAtIndex(source, 0, options); // Create scaled image
CFStringRef UTI = kUTTypeJPEG;
NSMutableData *destData = [NSMutableData data];
CGImageDestinationRef destination = CGImageDestinationCreateWithData((__bridge CFMutableDataRef)destData, UTI, 1, NULL);
if (!destination) {
NSLog(@"Failed to create image destination");
}
CGImageDestinationAddImage(destination, thumbnail,(__bridge CFDictionaryRef)metadata); // copy all metadata in source to destination
if (!CGImageDestinationFinalize(destination)) {
NSLog(@"Failed to create data from image destination");
}
if (!destination) CFRelease(destination);
CFRelease(source);
CFRelease(thumbnail);
return [destData copy];
は、なぜ私は24日、画像の後にメモリの警告を取得していますか?
iPhone4のは、すでにそれは他の機器で起こっているとあなたがサーバに画像をアップロードするために他の技術を使用するように開いている、非常に低いメモリを持っていますか? –
ありがとうSaheb、はい、この問題に直面しているのはiPhone 4のみです。 bcoz iPhone 6とiPhone 5でも試したことがありますが、画像の数が50以上の画像が正しく表示されています。それはメモリレベルで修正することが可能です – vetrivel