私は、JavaFXを活用して、20〜30秒ごとに大量の画像コンテンツを画面の内外にスクロールするアプリケーションを作成しています。これは、数時間実行して、完全に新しいコンテンツを取り込み、数分ごとに古いコンテンツを破棄できるようにすることを目的としています。システムに512Mbのグラフィックメモリがあり、数分後、そのメモリはすべてJavaFXによって消費され、JavaFXシーンで何をしても、どのメモリも解放されません。ノードがシーンから外れたときにノードを破棄するように細心の注意を払っています。一度にメモリに保存できる画像ノードは多くても50〜60個です。これらの画像をバックアップしていたグラフィックメモリのハードリリースを実行できる必要がありますが、JavaFXの画像インターフェイスは非常に高レベルであるため、その方法を理解できていません。
java.awt.image.Imageでflush()メソッドのようなものを探しています:http: //docs.oracle.com/javase/7/docs/api/java/awt/Image.html#flush()
Linuxでjava7u13を実行しています。
編集:
潜在的な回避策を見つけることができましたが(以下を参照)、JavaFX JIRAチケットを入力して、上記の機能をリクエストしました。