私はこの質問について多くのことを読んだことがありますが、自分の状況でどのようにアプローチするべきかアドバイスしたいと思います。リソースをロードして廃棄する必要がある場合
私は約8種類の画面を持つユーザーインターフェイスを持っていますが、画面間でスワップする際にリソースのロード/廃棄を計画していないため、ユーザーエクスペリエンスが非常に悪いです。
しかし、12個のミニゲームが私のUIから始めることができます。これは私の質問につながります。いつ資産をロードして処分する必要がありますか?
- オプションA:私はそれを見たよう
が、私は2つのオプションがあり、私はゲームが開始されたとき、しかし、これは悪い解決策のように思えるすべての単一の資産をロードします。
- オプションB:Iゲームの開始時にUIアセットのみを読み込み、起動時に各ミニゲームのアセットを読み込み、終了後に処分します。
オプションBを使用すると、ミニゲームが開始される前にすべてのUI資産を処分する必要がありますか?それは、ミニゲームが終了した後にそれらを再ロードしなければならないことを意味するでしょう(各ミニゲームは50秒です)。これはユーザーフレンドリーではないようですが、ミニゲームを開始したとき(ユーザーがミニゲーム終了後にUIにリダイレクトされる)にUI資産を処分しないとメモリリークが発生しませんか?
の特性が最善の解決策はlibgdx [AssetManager](httpsを使用することは何かということです://github.com/libgdx/libgdx/wiki/Managing-your-assets)、すべてをロードして、資産管理者にあなたのためにすべてを処理させます。アセットマネージャを使用していないときにアセットマネージャを破棄するだけです。 – Hllink
私はすでに資産マネージャを使用していますが、依然としてリソースをロード/アンロードする必要があります。 –
はい、ユーザーは最初のレベルのリソースをロードできます。 minigameを変更すると、最後のレベルのリソースを廃棄し、次のレベルのアセットを読み込むスレッドが起動します。アセットがロードされている場合は、ユーザーを待たせることなくすべてのレベルの変更を確認する必要があります。そのアセットマネージャの更新(intミリ秒)については、[reference](https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.html) – Hllink