2014-02-17 88 views
0

我有一個應用程序,當前啓動時啓動一個簡單的LaunchActivity。在此活動中,onCreate()中有條件檢查會話數據的存在。如果不存在會話數據,它將啓動LoginActivity。否則,它啓動MainActivity。在這兩種情況下,它都會在開始任何活動之前完成LaunchActivity。使用活動啓動登錄或主要活動

使用此方法時,LaunchActivity會在其他任何活動開始前短暫閃爍。如果這是一個適當的方法,可以採取什麼措施消除閃爍?

是否有另一種不涉及LaunchActivity的行爲?

+0

另一種方法是首先啓動登錄活動並檢查會話數據是否存在。如果存在,終止LoginActivity並啓動MainActivity。但我不知道這是否有助於閃爍 –

回答

3

它在開始任何活動之前完成LaunchActivity。

這聽起來像是你正在銷燬你的活動,然後啓動一個新的。你可以做什麼,而不是是一個使用Intent然後完成發射活動打開新Activity

Intent intent = new Intent(this, MainActivity.class);//or LoginActivity.class 
startActivity(intent); 
finish(); 

此外,您可以在清單中指定你不想被包含在返回堆棧的發射活動。這將使得當後退按鈕被按下以退出主要或登錄活動時,啓動活動將不會顯示。

android:noHistory="true"