2014-02-25 91 views
0

我正在開發一款android遊戲,需要幾秒鐘的時間才能加載所有內容。在這段時間或啓動畫面中,我想顯示一個進度條來顯示用戶正在完成的工作。然後殺掉飛濺活動並啓動我的主要活動。我有一個使用進度條調用異步函數的啓動畫面,該函數只與睡眠函數一起作爲進度條顯示信息的佔位符。然後它完成後需要幾秒鐘才能開始主要活動。 問題是如何加載活動並使用splash活動中的水平進度條顯示它的進度?我試圖完全理解活動的生命週期。我瞭解onCreate()方法創建活動,然後一旦完成,然後自動呼叫onStart()。但如前所述,我只想加載活動,然後手動啓動它。在顯示前預載活動?

回答

1

您無法預加載Activity本身。

相反,您應該嘗試在啓動屏幕中加載該Activity所需的數據。 加載時,將它交給主要的Activity
您可以將磁盤/閃存中的圖像加載到內存中,準備內部數據結構等。
但是,您無法創建佈局或初始化實際主體Activity

+0

好吧,謝謝,我將如何去加載圖像和字符串?這主要是什麼讓我失望。可能還有Google廣告。 – ChonBonStudios

+0

將字符串和圖像加載到某種「內存數據結構」(如「Bitmap」和「String」對象)中。 – flx

0

您不能預載Activity。啓動Activity,顯示啓動畫面/進度條,並將數據加載到主線程以外的另一個線程上。數據加載完成後,用ViewFlipper切換視圖。我沒有看到多個Activity的理由。

0

如果您通過xml文件設置視圖,這是相對簡單的。在調用setContentView(R.layout.YOUR_XML_FILE);之前,視圖不會膨脹直到調用此函數,或者使用一個簡單的無限加載小部件在另一個xml文件上調用它,然後在準備就緒時調用實際xml文件中的setContentView()

相關問題