2012-10-12 67 views
0

我必須更改現有的應用程序。我需要讓應用程序以初始化完成時顯示的啓動畫面開始。 (這可能需要一段時間,因此閃屏)在Android應用程序中使用啓動畫面的啓動順序

但是我看到的是內容提供者的onCreate在應用程序的onCreate被調用之前被調用。此內容提供者必須依賴初始化應用程序時加載的數據。

任何人都可以告訴我應用程序啓動時採取了哪些步驟嗎? 此外有誰能告訴我如何克服這種catch-22情況?

回答

0

我需要讓應用程序以啓動畫面開始,並在完成各種初始化時顯示啓動畫面。 (這可能需要一段時間,因此閃屏)

初始屏幕are considered to be poor form。允許用戶進入某些應用程序,即使您必須阻止某些等待某些數據從Internet上加載的部分。

任何人都可以告訴我應用程序啓動時採取了哪些步驟嗎?

您的Application對象和所有ContentProvider實現在任何其他事情發生之前(例如,創建活動)創建。從面向開發人員的代碼的角度來看,就是這樣 - 框架本身做更多的事情,但沒有什麼會觸發我們的代碼回調。

此外有誰能告訴我如何克服這種catch-22情況?

擺脫ContentProvider,因爲你可能不需要它。

或者,將ContentProvider重寫爲不需要從其onCreate()方法中「加載的數據」。

或者,重新構建應用程序以使用緩存,同步等,以便應用程序可以在一開始就沒有限制地啓動。作爲獎勵,這一個可以讓你擺脫閃屏。

+0

感謝您的快速響應。因爲它是一個現有的應用程序(開源),我們將基於該應用程序開發一個新應用程序,所以我們希望儘可能少地改變代碼,以便新版本的基本代碼不需要大量的重構。 – user1221261