大神请进!iOS持续截屏导致内存增长怎么搞?

Mr_ZNN 2016-08-11 11:48:01
如题,有没有人遇到过
...全文
709 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也遇到了这个问题:我的处理方式是: 1、不是每帧都都截屏,设置每3秒(或者每80帧)截取一张图片; 2、截取的面积尽量小,而不是截全屏,转成`UIImage`之后,压缩处理; 测试结果, 在5C上,CPU使用率40%左右, 在8P上,CPU使用率80%左右, 在X上,CPU使用率70%左右,
目生鱼 2016-08-18
  • 打赏
  • 举报
回复
你发送完了,把截图给删除了就行了。
qq_28937033 2016-08-15
  • 打赏
  • 举报
回复
主线程还是子线程 debug还是release
不担心 2016-08-15
  • 打赏
  • 举报
回复
这段代码没用,关键是getScreenImageDataWithIsBigImage你通过这个方法获取到截图后怎么处理的,上传服务器后要及时释放这个图片,另外内存释放是有一些延时的.通过instruments查看的话会有很明显的延时
hslinux 2016-08-12
  • 打赏
  • 举报
回复
无代码无真相。 检查下所使用的函数有没有需要手动释放资源的。
Mr_ZNN 2016-08-12
  • 打赏
  • 举报
回复
情况是这样的 ,我需要实时截取设备屏幕,将图片发给服务器,然而持续截屏发送导致内存不断增长,一会会就会涨到几百兆,贴上代码,求大神指教 //这是截取屏幕图片并处理后转成data -(NSData *)getScreenImageDataWithIsBigImage:(NSString*)imageType{ @autoreleasepool { NSData *imageData = nil; UIImage *originalImage = [SDScreenshotCapture imageWithScreenShot]; //处理图片 UIImage * bigImage = [UIImage compressImage:originalImage toTargetWidth:800 IsOriginalSize:YES Scale:0.5]; UIImage * smallImage = [UIImage compressImage:originalImage toTargetWidth:500 IsOriginalSize:NO Scale:0.3]; if ([imageType isEqualToString:@"1"]) { imageData = UIImageJPEGRepresentation(bigImage, 0.5); } else{ imageData = UIImageJPEGRepresentation(smallImage, 0.5); } return imageData; } } //这是截取屏幕 + (UIImage *)imageWithScreenShot { UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContextWithOptions(screenWindow.frame.size, NO, 0); CGContextRef context = UIGraphicsGetCurrentContext(); if ([screenWindow respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) { [screenWindow drawViewHierarchyInRect:screenWindow.bounds afterScreenUpdates:NO]; } else { [screenWindow.layer renderInContext:context]; } UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); CGContextRelease(context); UIGraphicsEndImageContext(); return image; }

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧