2011-10-25 11 views
1

私はLion用のスクリーンレコードアプリを開発しています。これは、主にLionの新しいAVCaptureScreenInputクラスを使用して、スクリーン上の指定された矩形のスクリーンビデオストリームを取得します。大丈夫しかし:Mac OS X 10.7でのメモリリークAVCaptureScreenInput setCropRect:function

アクティビティモニタ、に私はsetCropRect:呼び出すたびによると、メモリ使用量10〜20MBによるだろう増加。録音中に矩形のサイズを変更できる機能を提供しているので、ユーザーが夕方を変えるとメモリ使用量が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のバグだ場合、誰もが、私に言うか、私はそれを使用してもらえ間違った方法で、または別のクラスを使ってこれを行う必要がありますか?THX

答えて

0

設定トランザクションを開き、変更を加えてすぐに変更をコミットするので、なぜトランザクションを省略しないのですか?記録セッションが完了するまで、ライブラリーがトランザクションメモリーのクリーンアップを遅らせる可能性があります。アトミックになるように構成更新のグループを必要としない限り、構成トランザクションを使用する必要はないと思います。

純正品である可能性があります。

+0

私はsetCropRectを試しました:トランザクションを開くことなく、しかし助けなしに、メモリリークはまだ存在します:( –

関連する問題