Memory leaks 从ALAssetRepresentation获取字节时内存泄漏

Memory leaks 从ALAssetRepresentation获取字节时内存泄漏,memory-leaks,Memory Leaks,我正在上传摄像机的视频和图像。上传完成后,我得到32字节的内存泄漏。仪表指示泄漏在下面的管线中 NSUInteger readStatus = [rep getBytes:buffer fromOffset:_startFromByte length:chunkSize error:NULL]; 但我看不出这句话有什么不对 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

我正在上传摄像机的视频和图像。上传完成后,我得到32字节的内存泄漏。仪表指示泄漏在下面的管线中

   NSUInteger readStatus = [rep getBytes:buffer fromOffset:_startFromByte length:chunkSize error:NULL];
但我看不出这句话有什么不对

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    __block __typeof__(self) _self = self;

    ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset) {
        ALAssetRepresentation *rep = [myasset defaultRepresentation];
        NSUInteger chunkSize = CHUNK_SIZE;
        uint8_t *buffer = malloc(chunkSize);
        NSUInteger readStatus = [rep getBytes:buffer fromOffset:_startFromByte length:chunkSize error:NULL];

        if (readStatus == 0) {
            // Free up memory so we don't leak.
            free(buffer);
            dispatch_sync(dispatch_get_main_queue(), ^ {
                [_self cleanupConnectionSuccessful:NO];
            });
            return;
        }

        NSData *bytes = [NSData dataWithBytes:buffer length:readStatus];
        free(buffer);

        dispatch_sync(dispatch_get_main_queue(), ^ {
            [_self prepareRequestAndUploadData:bytes];
        });
    };

    ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *err) {
        NSLog(@"Error: %@", [err localizedDescription]);
    };


    [_assetslibrary assetForURL:_fileUrl resultBlock:resultblock failureBlock:failureBlock];
});

只需添加@autoreleasepool块,就可以清除所有自动释放的对象。看起来在iOS7之后ARC发生了一些变化

@autoreleasepool {
     NSUInteger readStatus = [rep getBytes:buffer fromOffset:_startFromByte length:chunkSize error:NULL];
}

很抱歉耽搁这么久,但我正在做另一个项目,没有时间检查你的建议。遗憾的是,这并没有起到任何作用,我仍然有32字节的内存泄漏;自由(缓冲)to
NSData*bytes=[NSData datawithbytesnopy:buffer length:readStatus freewwhendone:YES]但这并没有改变任何事情。这个漏洞不是什么大问题,但却让我发疯。