2014-11-05 61 views
2

我對每個我試圖找到一個更好的(讀優化)模式來使用的情況。 基本上,我有三個活動 - LaunchActivity,WelcomeActivityMainActivityLaunchActivityDEFAULTLAUNCHER活動,在我的情況下,LaunchActivity沒有顯示任何用戶界面,即我根本不在onCreate()中調用setContentView()。我所做的一切基本上都是在onStart(),我檢查了一些條件並根據結果發佈WelcomeActivityMainActivity重量輕的替代活動

現在,我想知道,我真的應該使用Activity [LaunchActivity的超類]做一些檢查嗎?由於實例化Activity可能相當耗時且昂貴,是否有輕量級選項可用於加快啓動過程?

謝謝大家。

回答

1

我用活動充當我的應用程序啓動畫面在處理這類這樣做的好處scenarios.The的是,它給我的應用程序一個漂亮的界面和圖形豐富的促銷活動,並在飛濺活動,我正在根據最後保存的Android應用程序的狀態決定下一步應該開始哪些活動。 enter image description here


另一種方法(我不會由我開發的任何應用程序中實現)是啓動歡迎每次活動,並在其onCreate()檢查一些condition.If滿足該條件,然後,打開在MainActivity通過使用意圖......否則繼續與歡迎活動的流動

public class WelcomeActivity extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if(your condition)//check some condtion here 
    { 
     // if met,go to MainActivity 
    } 
    else 
    { 
     //carry on with the flow of WelcomeActivity 
    } 
    } 
} 

總的來說,我相信使用第一種方式是更好的辦法,因爲它僅僅是隻增加一個活動的開銷,但使應用程序的流程aner

+0

感謝您用良好的圖解釋。對我來說,LaunchActivity在本質上是你的SplashActivity。速度對我來說很重要,而不是啓動時使用的富UI。我使用的是活動只是在LaunchActivity做一個的if-else通話。儘量避免它,如果可能的話。 – 2014-11-05 08:34:40

+0

然後,只需要使用另一種方法...... :) – nobalG 2014-11-05 08:37:03