1

画面をキャプチャして多くの画像を NSMutableArray に保存しようとしています。次に、それらの画像を呼び出してビデオを作成します。無事に動画ができました。ただし、問題は、多くの画像を NSMutableArray に保存できないことです。アプリケーションがクラッシュします。これらの画像を一時的に保存する方法を知りたいです。(ドキュメント ディレクトリにはありません)。

4

1 に答える 1

2

これらの画像をすべて配列に格納しようとすると、すぐにメモリ不足になります。次の 2 つのオプションがあります。

  1. これらの画像をすべて Documents フォルダーに保存したくないと言っても、それが最善の方法かもしれません。それらをドキュメントに保存してから、ビデオ作成プロセスで画像を一度に 1 つずつ読み込み、ビデオに追加します。

  2. または、renderInContextキャプチャしたいビューをCGContextRef用に設定した に直接実行し、 を実行して、すぐCVPixelBufferRefに実行することもできます。appendPixelBufferCVPixelBufferRelease

これらのアプローチのいずれかを使用すると、すべてのイメージを常にメモリ内に保持することが回避され、メモリ不足の状況が緩和されます。私は両方のアプローチのプロファイリングを行いましたが、どちらも配列への画像のロードで発生するメモリ消費量の増加を回避しています。

于 2013-09-26T22:10:35.520 に答える