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