我正在尝试寻找一种更好的(读取优化的)模式来使用每种情况。
本质上,我有三个活动-LaunchActivity
,WelcomeActivity
和MainActivity
。LaunchActivity
是DEFAULT
LAUNCHER
活动,在我的情况下,LaunchActivity
不显示任何UI,即我根本没有在setContentView()
中调用onCreate()
。实际上,我所做的只是在onStart()
中检查某些条件,并根据结果启动WelcomeActivity
或MainActivity
。
现在,我想知道,我是否真的应该使用Activity
[LaunchActivity
的超类]做一些检查?因为实例化Activity
可能会非常耗时且昂贵,所以我可以使用一个轻量级的选项来加快启动过程吗?
谢谢大家
最佳答案
在处理此类情况时,我在应用程序中使用活动作为初始屏幕。这样做的好处是,它为我的应用程序提供了一个不错的界面,并提供了图形丰富的升级,并且在该初始活动中,根据我的Android应用程序的上次保存状态来决定下一步应开始什么活动。
另一种选择(我将不会在我开发的任何应用程序中实现)是每次启动Welcome Activity,并在其onCreate()
中检查某些条件。如果满足该条件,则使用intents打开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
}
}
}
总的来说,我相信使用第一种方法是更好的方法,因为这只会增加一个活动的开销,但会使应用程序的流程更整洁
关于android - 轻巧的 Activity 替代品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26750637/