我正在使用视频录制ScreenCaptureView.
我使用了以下代码;
-(CGContextRef) createBitmapContextOfSize:(CGSize) size
{ CGContextRef context = NULL; CGColorSpaceRef colorSpace; int bitmapByteCount;
int bitmapBytesPerRow;
bitmapBytesPerRow = (size.width * 4);
bitmapByteCount = (bitmapBytesPerRow * size.height);
colorSpace = CGColorSpaceCreateDeviceRGB();
if (bitmapData != NULL)
{
free(bitmapData);
}
bitmapData = malloc( bitmapByteCount );
if (bitmapData == NULL)
{
fprintf (stderr, "Memory not allocated!");
return context=NULL;
}
context = CGBitmapContextCreate (bitmapData, size.width, size.height, 8, bitmapBytesPerRow,colorSpace, kCGImageAlphaNoneSkipFirst);
CGContextSetAllowsAntialiasing(context,NO);
if (context== NULL)
{
free (bitmapData);
fprintf (stderr, "Context not created!");
return NULL;
}
return context;
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
}
但它给了我潜在的内存泄漏警告和应用程序崩溃。
它在 ipod 中运行良好,但在 ipad 中崩溃。
我该如何解决?
谢谢......