[英]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.