2013-04-17 26 views
2

我在應用程序啓動過程中有一個漫長的過程。我希望在此過程中顯示進度對話框。 如果我的應用程序重新啓動,我不知道哪個活動將開始。Android Application.onCreate long process

在重新啓動應用程序期間是否有良好的做法來顯示進度對話框?我想要阻止任何活動初始化,直到過程完成。

謝謝。

+0

我不知道在活動開始之前是否有可能在用戶界面上顯示,但爲什麼不用定義一個活動,以及與該過程交流的asynctask,通過檢索某些數據知道要顯示的百分比。 如果asynctask完成,您可以開始下一個活動並完成該活動,以避免反向堆棧歷史記錄,否則應用程序的重新啓動將重新啓動相同的活動,因爲您可以在清單中定義類別啓動器。 – AlexBcn

+0

我在我的應用程序中有很多活動。 Android應用程序在後臺處理時可能會殺死應用程序(例如,由於內存不足)。 如果用戶備份到應用程序,則會嘗試恢復上次處於活動狀態的活動。在這種情況下,使用加載活動變得很困難。應用程序的恢復與首次啓動不同。 –

回答

1

您可以簡單地添加一個加載活動,向用戶顯示帶有進度條的背景,告訴他您正在加載內容。同時你應該加載你的數據在單獨的線程(使用AsyncTask/Loader等),當它完成時,你可以啓動你想要的任何活動。

另外,如果您的數據被加載,也可以顯示活動,而您加載一個服務,這樣就不會被輕易殺死的東西。但是,嘗試使用基本邏輯:

1您的應用程序已打開 - >您是否已加載數據?

2A(是)啓動活動

2B(否)啓動該服務,並顯示進度

3用戶/系統關閉您的應用程序,並重新打開它 - >回1)

+0

感謝您的諮詢。我認爲,在恢復應用程序時這不是簡單的解決方案。查看有問題的評論。 –

+0

@sasha_trn看看我的編輯,看看它是否有效。 – Aballano

+0

因此,我應該把代碼放在所有我的活動中的onCreate方法,它將檢查數據是否加載並顯示進度對話框。 我認爲現在有一個應用程序用戶界面的入口點。很不幸的是,不行。 –