隨着我的應用程序(遊戲)越來越大,我開始遇到問題。在哪裏創建位圖等
我有一個'開始遊戲'按鈕的菜單活動 - 當用戶按下此按鈕時,它啓動主要遊戲活動 - 現在在此活動中,我在構造函數中創建位圖等,但有這麼多現在當活動開始時,在遊戲實際開始之前會有一些延遲 - 大約2秒。
我明顯在做錯事 - 請有人建議如何解決這個問題,這樣延遲(顯然,必須發生) - 不會被用戶注意到。
隨着我的應用程序(遊戲)越來越大,我開始遇到問題。在哪裏創建位圖等
我有一個'開始遊戲'按鈕的菜單活動 - 當用戶按下此按鈕時,它啓動主要遊戲活動 - 現在在此活動中,我在構造函數中創建位圖等,但有這麼多現在當活動開始時,在遊戲實際開始之前會有一些延遲 - 大約2秒。
我明顯在做錯事 - 請有人建議如何解決這個問題,這樣延遲(顯然,必須發生) - 不會被用戶注意到。
立即加載你需要的。加載其餘的後臺線程(可能是一個AsyncTask)。如果您在加載之前需要一個,可以根據需要暫停或放置加載屏幕。
謝謝大家的意見/答案 - 我正在使用surfaceView併爲此使用一個單獨的線程 - 您是否建議我需要創建另一個用於加載資源的線程?非常感謝! – Zippy
您可以開始在菜單活動的背景中加載位圖,或者甚至在使用background thread or AsyncTask
創建應用程序時開始加載位圖。您仍然需要某種加載屏幕,以防止用戶在完成加載所有位圖之前導航到主遊戲活動。
您也可以啓動一個IntentService來加載位圖。加載位圖時,IntentService可以使用LocalBroadcastManager發送廣播。然後,每個關心結果的組件都可以使用LocalBroadcastManager註冊BroadcastReceiver。
帶進度條或微調器的加載屏幕如何? –
這似乎是最簡單的方法 - 我可以使用這種方法 - 謝謝! – Zippy