安卓四大组件之一的Activity,从我最初开始写安卓代码的时候就会用了,也初步了解了一些Activity的生命周期有关的知识,但是总是觉得了解的不够透彻,似懂非懂。
今天又从新系统的复习了一下关于Activity的内容,再这里做个总结。
下图是Google官方给出的Activity生命周期图:
从Api中我们可以知道,Activity其实是继承至ApplicationContext类,我们写个Demo,从写一下它的方法。
public class FirstActivity extends AppCompatActivity {
private static final String TAG = "FirstActivity";
//Create 创建
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Log.i(TAG, "start onCreate~~~");
}
//Start 开始
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "start onStart~~~");
}
//Restart 重新启动
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "start onRestart~~~");
}
//Resume 重新占用
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "start onResume~~~");
}
//onPause 暂停
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "start onPause~~~");
}
//onStop 停止
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "start onStop~~~");
}
//onDestroy 销毁
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "start onDestroy~~~");
}
}
运行上面的代码会发现,启动Activity首先依次调用:
onCreate()->onStart()->onResume 方法
点击back按钮后调用:
onPause()->onStop()->onDestory 方法
点击Home键后调用:
onPause()->onStop() 方法
横竖屏切换后:
onPause()->onStop()->onDestroy()->onCreate()->onStart()->onResume~
以上是单个Activity的生命,那么两个Activity相互跳转的时候生命周期是什么样的呢?
下一篇:
重识Activity2