一般初学者在看Activity的时候,会不太重视其生命周期的过程,这也导致在在后期开发中对有些状态的改变需要保存数据或状态的过程不知其然。网上很多文章都是翻译官网的多,有些就是直接放官网的那个流程图,然后给段演示代码,说明的文字不多。
以下是其流程图,后面会给出代码,代码中会有使用情景说明及状态变化,权当个笔记,做个备忘。
以下是说明代码;
/*
* Activity生命周期变化演示
*
* 当一个Activity启动并进入活动状态的时候,调用顺序是;
*
* onCreate -> onStart -> onResume
*
* 退居后台的时候,调用顺序是:(例如点击Home键,回到桌面时)
*
* onPause -> onStop
*
* 重新回到活动状态的时候,调用顺序是:
*
* onRestart -> onStart -> onResume
*
* 销毁的时候,调用顺序是:(例如在程序运行时点击Back键)
*
* onPause -> onStop -> onDestroy
*
*
*
*
*/
public class MainActivity extends Activity {
private String TAG = this.getClass().getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.w(TAG,"onCreate");
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.w(TAG,"onStart");
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Log.w(TAG,"onRestart");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Log.w(TAG,"onResume");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Log.w(TAG,"onPause");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Log.w(TAG,"onStop");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Log.w(TAG,"onDestroy");
}
}