上述内容是通过以下这段代码运行时通过观察控制台信息总结出来的,我觉得其实不管它怎样变化,最终都是要按照这个流程图来走,被pause的最后都会是stop状态,回到stop状态的只能通过restart开启。
代码如下:
public class LifeCycle extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_life_cycle); System.out.println("create"); findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(LifeCycle.this, AnotherLifeCycle.class)); } }); findViewById(R.id.btn2).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LifeCycle.this.finish(); } }); } @Override protected void onStart() { super.onStart(); System.out.println("start"); } @Override protected void onRestart() { super.onRestart(); System.out.println("restart"); } @Override protected void onResume() { super.onResume(); System.out.println("resume"); } @Override protected void onPause() { super.onPause(); System.out.println("pause"); } @Override protected void onStop(){ super.onStop(); System.out.println("stop"); } @Override protected void onDestroy(){ super.onDestroy(); System.out.println("destroy"); } }