Android activity 函数调用之间的生命周期混淆

Android activity lifecycle confused between calls of function

当我 运行 这个应用程序时,我首先得到 "On Resume" 而不是 "On start" 甚至 "On create" 都没有出现,请告诉我为什么? "On Restart" toast 未显示,但测试正在更新。
public class MainActivity 扩展 AppCompatActivity {

    public int test=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast t=Toast.makeText(getApplicationContext(),"On create",Toast.LENGTH_SHORT);
        t.setGravity(Gravity.CENTER_VERTICAL,20,20);
        t.show();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Toast t=Toast.makeText(getApplicationContext(),"On restart",Toast.LENGTH_LONG);
        t.setGravity(Gravity.CENTER_VERTICAL,20,20);
        TextView num=(TextView) findViewById(R.id.textNum);
        test++;
        num.setText(String.valueOf(test));
        t.show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(getApplicationContext(),"On start",Toast.LENGTH_SHORT).show();
    }
    @Override
    protected void onResume() {
        super.onResume();
        Toast t=Toast.makeText(getApplicationContext(),"On resume",Toast.LENGTH_SHORT);
        t.setGravity(Gravity.CENTER_VERTICAL,10,20);
        t.show();
    }

    @Override
    protected void onPause() {
        super.onPause();
       Toast t= Toast.makeText(getApplicationContext(),"On Pause",Toast.LENGTH_SHORT);
       t.setGravity(Gravity.CENTER_VERTICAL,20,20);
       t.show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(getApplicationContext(),"On Stop",Toast.LENGTH_SHORT).show();
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(getApplicationContext(),"On destroy",Toast.LENGTH_SHORT).show();
    }
}

使用Toast作为调试方法真是个坏主意。使用日志记录并查看您的 logcat。您将看到这些方法按照它们应有的顺序被调用。只是不要这样做。