我有一个情况,我正在尝试找到一个更好的(读取优化)模式来使用。
基本上,我有三项活动 - LaunchActivity
,WelcomeActivity
和MainActivity
。
LaunchActivity
是DEFAULT
LAUNCHER
个活动,在我的情况下,LaunchActivity
没有显示任何用户界面,即我根本不打电话给setContentView()
onCreate()
。我所做的一切基本上都在onStart()
,我检查某些条件并根据结果启动WelcomeActivity
或MainActivity
。
现在,我想知道,如果我真的使用Activity
[LaunchActivity
的超类]做一些检查吗?是否有一个轻量级选项可用于加快启动过程,因为实例化Activity
可能相当耗时且昂贵?
谢谢大家。
答案 0 :(得分:1)
我在我的应用程序中使用活动作为启动画面,同时处理这种情况。这样做的好处在于它为我的应用程序提供了一个很好的界面,一个图形丰富的促销,以及那个启动活动,我正在决定接下来应该根据我的Android应用程序的上次保存状态启动哪些活动。
另一个替代方案(我不会在我开发的任何应用程序中实现)是每次都启动Welcome Activity,并在其onCreate()
检查某些条件。如果满足该条件,则使用打开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
}
}
}
总的来说,我认为使用第一种方法是更好的方法,因为它只是增加了一项活动的开销,但使应用程序的流程更加清晰