私は、設定された間隔で画面をキャプチャするためのプログラムを書いていたと私はテストを始めたとき、私はそれが映像をキャプチャーを開始した後、私はほとんどすぐのOutOfMemoryExceptionを得ることがわかりました。私はもっと多くの記憶を割り当てようとしました - 私はそれを256m与えましたが、それはほとんど役に立たなかった。例外をスローして再びクラッシュする前に、最後に2〜3秒待っていただけです。のJava:ロボット#1 createScreenCaptureを使用してのOutOfMemory(長方形)
私は、createScreenCapture(...)メソッドが大量のメモリを使用することを理解していますが、同じメソッドを使用して長時間記録できるサンプルプログラムを見てきました。
編集:私はあなたの男アドバイスのいくつかを使用してきましたし、今私はOutOfMemoryExceptionsを得ることはありません!やめ!私は写真をハードディスクに保存するというルートをとった。しかし、実際にアーカイブファイルに書き込むにはかなりの時間がかかります。アーカイブファイルに63フレームを書き込むのに2分ほどかかります!
私はI/Oの一部を書き換えてるので、私は任意のコードを提供することはできません。 ^状況の改善に取り組んでいます。
イメージをメモリにコミットするのではなく、プログラムの存続期間中にハードドライブに保存しますか? –
* "それをハードドライブに保存しますか?*はい。 –
さて、私はそれを調べます。それをハードドライブに保存するために使用すべき特定の手順はありますか?私はint []配列にイメージを変換し、それを格納することを考えていました。なぜなら、配列は直列化可能であるからです。 –