私のゲームは、メインメニュー(25個のオブジェクト - >動的メニュー、すべて動いています)、Game Over(3個のオブジェクト)、Game Screen(15-20個のオブジェクト)、Game Shopオブジェクト)...だから私のゲームは約50MBのRAMを使用し、その後は着実に増加しました。なぜなら、私は非常に多くのオブジェクトを作成しているからです!Libgdx強制ガベージコレクタ
もちろん、私はメインメニューでSystem.gc()コマンドを使用しましたが、現在は常に約25MBであり、問題はないようです。しかし、人々はそれが悪い習慣であると言います。
しかし、画面が壊れてしまい、RAMを無駄にするオブジェクトを残したくないので、これが唯一の解決策であるようです。私はあなたが使い捨て実装するすべてのオブジェクトを配置していることを確認し、メモリ管理のlibgdx方法を使用することを示唆している
あなたは正しくshaperenderersのようなもので、 '' 'dispose'''を呼び出していますか?そうしないと、それらに接続されたネイティブオブジェクトは決してクリーンアップされません。 –
まあ、ゲームショップの私のオブジェクトのそれぞれは、スプライトと長方形のクラスを持っています...そして、それらは使い捨てのメソッドを持っていません...私の資産マネージャからロードしているテクスチャ! –
作成中のすべてのオブジェクトをゲームループに再利用し、新しいオブジェクトを控えめに作成する必要があります。新しいオブジェクトを作成するたびに、メモリ内の新しい場所へのポインタを作成して(メモリをいっぱいにしています)、作成された新しいオブジェクトのほとんどはおそらくフィールド更新を2つだけ使用できます。 – MeetTitan