1

私のコードの一部は次のようになります。

public void goToMainMenu() {
        Assets.LoadMenuTexutres();
        Assets.unloadGameTexutres();
        game.setScreen(new MainMenuScreen(game));   
}

それは機能しますが、メソッドを呼び出すと、約.5秒の遅延が発生し(OpenGLではテクスチャのロードが重いため)、MainMenuScreenに到達しますが、すべてのアニメーションが約.3秒間途切れます。アセット/テクスチャをロードした後にこの途切れ途切れのラグが発生するのはなぜですか?また、それを防ぐにはどうすればよいですか?

乾杯!

4

2 に答える 2

0

私の推測では、あなたの遅れは次の理由によるものだと思います:

  1. テクスチャのすべての読み込み
  2. テクスチャのすべてのアンロード、そしてガベージコレクターを現在無料のビットマップオブジェクトで実行させる

この遅延がユーザーエクスペリエンスを損なうのを防ぐために、ロードとアンロードをAsyncTaskに移動し、 ProgressDialogに「Loading...」などと表示することをお勧めします。

于 2012-08-25T13:58:27.397 に答える
0

組み込みのAssetManagerを使用できます

于 2012-08-25T19:37:56.653 に答える