私はスクリーンそのものを廃棄することを意味するわけではないので、質問はちょっと捨ててしまいます。私が使用しているのは、ScreenクラスとGameクラスではなく、画面を切り替えるenumとswitch文です。私がここで本当に求めているのは、あるゲームの状態から他のゲームの状態に切り替えるときに、自分のディスポーザブルアイテムをすべて手前に置くことになっていますか?別の画面をレンダリングしているので、もうレンダリングしなくても、私はそれらのすべてを保持して、心配する必要はありませんか?私は別のものに切り替えるたびに、画面上のすべてのリソースを一度に処理しなければならないと迷惑をかけるので、本当に必要かどうか疑問に思っています。LibGDXでスクリーンを廃棄するのはいつですか?
0
A
答えて
2
あなたのゲームの選択とタイプ(ゲームには多くのリソースがありますか)です。
多くのリソースを持っている場合は、1つの画面のリソースを破棄し、別の画面のリソースをメモリにロードした後でそのリソースを使用する方がよいでしょう。
このシナリオでは、画面を読み込み、リソースを非同期でロードします。
多くのリソースがない場合は、ゲームを終了したときにのみリソースを処分してください。継承されたゲームのdispose()
は、このシナリオでゲームリソースを処分し、ここから処分するのに最適な場所です。画面固有のリソースを廃棄することができます。
0
クイックのルールが使用できます
アプリケーションの起動時に何か(テクスチャ、TextureAtlas、音楽、サウンドなど)をロードし、メモリヒープに問題を持っていない場合 - アプリケーションのdisposeメソッドでそれを処分します。
しかし、スクリーンに何か特別なものを読み込む場合は、スクリーンのdisposeメソッドで処理する必要があります。
exのリソースを処分しない場合は、あなたがそれをレンダリングしない場合でも、テクスチャはメモリに残っています。画面内にいくつかのテクスチャを読み込むときに、メソッドをdisposeメソッド内に置かないと、スクリーンを再起動するときに同じテクスチャを2回読み込むため、メモリリークが発生する可能性があります。
関連する問題
- 1. LibGdxで画面を廃棄する
- 2. Libgdxで画面を適切に廃棄する方法
- 3. パケットをC++でIPで廃棄する
- 4. Xamarin.Formsでオブジェクトを廃棄する
- 5. C#でリソースを廃棄する
- 6. libpcapでパケットを廃棄する
- 7. StructureMapコンテナを廃棄する
- 8. ブラシを廃棄する
- 9. StringBuilderオブジェクトを廃棄する
- 10. ImageListを廃棄する
- 11. カスタムオブジェクトの廃棄
- 12. DBコンテキストが廃棄されるのはなぜですか?
- 13. WCF - 廃棄オブジェクトにアクセスできない
- 14. 「廃棄オブジェクトにアクセスできない」
- 15. 廃棄インスタンス
- 16. IServiceProviderガベージコレクション/廃棄
- 17. ネットワーク廃棄ステータス
- 18. NUnit-オブジェクトの廃棄
- 19. スクラップ、JavaScript内のデータを廃棄する
- 20. プール内のオブジェクトを廃棄する
- 21. スレッド内のアンマネージドリソースを廃棄する
- 22. はpurrr ::廃棄NAは
- 23. オブジェクトを作成の逆の順序で廃棄しますか?
- 24. 廃棄隠しフォルダは
- 25. アンマネージドリソースを非同期で廃棄する方法は?
- 26. アンチサイト廃棄アルゴリズムのPHP Captchaでのワニスキャッシュ
- 27. ViewModelsとCanExecuteハンドラを廃棄する
- 28. DrawImageを非表示/廃棄する
- 29. パターン使用を廃棄する
- 30. インポートされたDLLを廃棄する