2012-08-25 16 views
1

一部分是這樣的:LibGDX:加載紋理後滯我的代碼

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

它的工作原理,但是當我調用該方法我避開0.5秒的延遲(因爲加載紋理的重OpenGL中)然後我進入MainMenuScreen,但所有的動畫都會在0.3秒左右波動。爲什麼我在加載資產/紋理後會出現這種波濤洶涌的滯後現象,我該如何預防它?

乾杯!

回答

0

我的猜測是,你的延遲是因爲:

  1. 所有紋理加載
  2. 所有紋理的卸載,然後有在現在可以自由位圖的垃圾收集器運行對象

爲了避免損害用戶體驗的這種延遲,我建議您將加載和卸載移動到AsyncTask,並顯示ProgressDialog說「加載...」或其他東西。