我正在尝试寻找一种更好的(读取优化的)模式来使用每种情况。
本质上,我有三个活动-LaunchActivityWelcomeActivityMainActivity
LaunchActivityDEFAULT LAUNCHER活动,在我的情况下,LaunchActivity不显示任何UI,即我根本没有在setContentView()中调用onCreate()。实际上,我所做的只是在onStart()中检查某些条件,并根据结果启动WelcomeActivityMainActivity

现在,我想知道,我是否真的应该使用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/

10-09 05:44