android – 当开始另一个活动的好时机

我有一个
Android Best Practice问题.我必须遵循代码,这是很好的工作,但我认为它不是那么优雅.所以,我的问题是:在哪个活动生命周期开始另一个活动很好?

public class LoginActivity extends ActionBarActivity {


 @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ParentPreferences parentPreferences = new ParentPreferences(getApplicationContext());
    if (parentPreferences.isPassExists()) {
        Intent i = new Intent(this, MainActivity.class);
        startActivity(i);
    } else {
        setContentView(R.layout.login);
    }
 }
}

任务是:如果父母已经设置了密码来保护应用程序,那么我们不需要显示LoginActivity.我不知道,当onCreate和其他生命周期方法完成时,一个Activity是否“健康”才有意图启动.

你有什么想法?

最佳答案 我认为更好的方法是创建LauncherActivity,并从中启动活动:

例如:

      public class LauncherActivity extends AppCompatActivity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ParentPreferences parentPreferences = new ParentPreferences(getApplicationContext());
        Intent intent;
        if (parentPreferences.isPassExists()) {
            intent = new Intent(this, MainActivity.class);
        } else {
            intent = new Intent(this, LoginActivity.class);

        }
        intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
        startActivity(i);
     }
    }

更新:
参考Activity | Android Developer

《android – 当开始另一个活动的好时机》

onCreate是第一个生命周期方法,因此当A活动刚刚开始并且不会使任何布局膨胀时更好地启动活动B.

点赞