繁体   English   中英

Mac OS X 10.7中的内存泄漏AVCaptureScreenInput setCropRect:函数

[英]Memory leak in Mac OS X 10.7 AVCaptureScreenInput setCropRect: function

我正在为Lion开发一个屏幕录制应用程序,该应用程序主要使用Lion的新AVCaptureScreenInput类来获取屏幕上指定rect的屏幕视频流。

根据活动监视器, 每次调用setCropRect: ,内存使用量将增加10-20Mb 由于我提供了可以在录制过程中更改rect大小的功能,因此,随着用户对rect进行大量更改,内存使用量可能会增加到1-2Gb,这是一个灾难:

我严重怀疑这是否是Apple SDK中的错误,因此Apple的示例代码AVScreenShack示例也存在此问题。

我的代码是这样的:

[m_AVCaptureSession beginConfiguration];
[m_AVScreenInput setCropRect:CGRectMake((int)grabRect.origin.x, (int)grabRect.origin.y,(int)grabRect.size.width, (int)grabRect.size.height)];
 [m_AVCaptureSession commitConfiguration];

谁能告诉我,如果这是SDK中的错误,还是我以错误的方式使用了它,还是应该使用另一个类来做到这一点? 谢谢

由于您要打开配置事务,进行更改,然后立即提交更改,为什么不忽略该事务? 库可能会延迟清除事务存储器,直到记录会话完成为止。 我认为没有必要使用配置事务,除非您需要一组配置更新来实现原子化。

否则可能是真正的泄漏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM