gpt4 book ai didi

iphone - 在 iPhone 中截取 View 时内存不足警告

转载 作者:行者123 更新时间:2023-11-29 13:09:44 25 4
gpt4 key购买 nike

我有一个应用程序,我在其中截取 View 的屏幕截图并将该图像保存在文档文件夹中。

我正在使用以下代码。

CGSize size = self.view.bounds.size;
CGRect cropRect;
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if([self isPad])
{
cropRect = CGRectMake(145, 110, 476, 476);
}
else
{
if (screenBounds.size.height ==568)
{

cropRect = CGRectMake(40, 69, 240, 240);
}

else
{
cropRect = CGRectMake(40, 62, 240, 240);
}
}

/* Get the entire on screen map as Image */
UIGraphicsBeginImageContext(size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * mapImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

/* Crop the desired region */
CGImageRef imageRef = CGImageCreateWithImageInRect(mapImage.CGImage, cropRect);
UIImage * cropImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);

/* Save the cropped image
UIImageWriteToSavedPhotosAlbum(cropImage, nil, nil, nil);*/

//save to document folder
NSData * imageData = UIImageJPEGRepresentation(cropImage, 1.0);
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];

imagename=[NSString stringWithFormat:@"Fff.jpg"];

NSString* fullPathToFile = [documentsDirectory stringByAppendingPathComponent:imagename];
////NSLog(@"full path %@",fullPathToFile);
[imageData writeToFile:fullPathToFile atomically:NO];

如果我截取 15 到 20 次屏幕截图,它会正常工作,但在那之后它会给我低内存警告,然后应用程序在此代码上崩溃。

是否有我可以使用的更优化的代码,它不会导致此类内存问题。

请帮帮我。

最佳答案

用我的波纹管方法捕获屏幕..

- (UIImage *)captureView {

//hide controls if needed
CGRect rect = [self.view bounds];// Here define CGRect with your requirement of take screenshot of some part

UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;

}

看我的另一个回答howe-to-capture-uiview-top-uiview

关于iphone - 在 iPhone 中截取 View 时内存不足警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17691020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com