Android系统中的Activity简介
写一次博客就是一次成长,回顾一篇博客就是一次升华!
Activity简介
** Activity是任何作为android开发人员都不可能不知道的android系统四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一,在Android开发过程中很多具体的需求都需要根据Activity的不同的生命周期去进行判断和操作执行。
** Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。在一个android应用中,一个Activity通常就是一个单独的屏幕(界面),它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
七个生命周期方法
- OnCreate()
创建Activity时被回调,该方法只会被执行一次- OnStart()
启动Activity时被回调- OnResume()
恢复Activity时候被回调,OnStart()方法之后肯定是会调用OnResume()方法- OnPause()
暂停Activity时被回调- OnStop()
停止Activity时被回调- OnRestart()
重新启动Activity时候被回调- OnDestory()
销毁Activity时被回调
特定环境下生命周期方法的调用过程
大致归纳Activity状态情况如下:
- 活动状态:当前的Activity正在前台运行,用户可以看到。
- 暂停状态:其他的Activity正在前台运行,该Activity依然可以看到,但是已经不能得到焦点。
- 停止状态:该Activity不可见,失去焦点
- 销毁状态:该Activity被干掉,或者该Activity所属的Application被系统终止。
一些环境下Activity生命周期调用流程:
- 开始启动:依次执行OnCreate() —->OnStart() —->OnResume();
- 失去焦点:当从该Activity跳转到另外一个Activity的时候,该Activity会失去焦点,在这一过程中执行的生命周期方法是:OnPause()—->OnStop();
- 该Activity重新获得焦点:依次执行三个方法:OnRestart()—->OnStart()—->OnResume();
- 销毁(关闭)Activity:依次执行OnPause()—> OnStop()—>OnDestory();
实际代码展示
很简单的一个例子,简单说明下各个方法的调用先后顺序:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onDestroy() {
Log.d(TAG, "onDestroy");
super.onDestroy();
}
@Override
protected void onPause() {
Log.d(TAG, "onPause");
super.onPause();
}
@Override
protected void onRestart() {
Log.d(TAG, "onRestart");
super.onRestart();
}
@Override
protected void onResume() {
Log.d(TAG, "onResume");
super.onResume();
}
@Override
protected void onStart() {
Log.d(TAG, "onStart");
super.onStart();
}
@Override
protected void onStop() {
Log.d(TAG, "onStop");
super.onStop();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate");
}
}
开启应用调用过程如下:
该程序失去焦点(比如说按下了HOME键)调用过程如下:
重新获得焦点(再次进入了该程序)
结束该程序运行
简单的DEMO就写到这吧,慢慢的积累android开发的知识,让时光见证成长!