一、Activity的含义
Activity提供了一个和用户进行交互的接口,允许用户进行一系列的操作等,通过
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
</php>
setContentView方法加载View(一个指定的布局),Activity系统中是通过Activity栈的方式来管理Activity
Activity的四种形态
- running 当前activity位于栈首,允许用户交互。
- pause activity失去焦点,当前activity上弹出一个弹窗式activity(非全屏的Activity)或一个全透明的activity,仍然保留该 activity的当前信息和成员变量,方法等。失去与用户交互的能力。
- stopped 被另一activity完全覆盖,失去焦点不可见,但仍保留当前信息和成员变量。
- killed 该activity被系统回收掉,进入killed状态
注意:在系统内存紧张的情况下,activity有可能直接进入killed状态
Activity的生命周期
-onCreate activity被创建时第一个调用的方法,用来初始化组件和设置布局文件资源,通过setContentView方法,在一个activity的完整生命周期中该方法只会调用一次。
-onStart 表示activity正在启动,处于可见状态,未显示在前台,因此无法和用户交互。
-onResume 该方法说明activity可见,可以与用户进行交互操作,因为onPause和onStop方法之后都会走该方法,所以在该方法中可以执行一些资源的初始化(onPause和onStop中被释放的资源)
-onPause 表示当前activity正在被暂停,正常情况下会继续执行onStop方法。可以在其中做一些数据,资源的存储,回收等,但不能太耗时,因为onPause之后,新Activity的onResume方法才会被执行。
-onStop 在onPause执行完后一般会自己执行,表示被覆盖或者位于后台,不可见,可做一些资源释放的操作
-onDestroy 销毁当前activity,最后一个执行的方法,释放资源,回收操作
-onRestart 当前activity正在被重新启动,有不可见转为可见状态。