1.题记
Activity是Android最基本的组件之一,通常情况下一个Activity占据一个屏幕,用户对屏幕所做的操作都将由Activity来管理和调度。
2.Activity生命周期
Activity有三种状态,分别是运行状态、暂停状态以及停止状态。
运行状态:
当Activity在屏幕的最前端,它是可见的、有焦点的。可以用来进行用户的操作(点击、双击、长按等),那么久叫做激活或运行状态。值得注意的是,当Activity处于运行状态的时候,Android会尽可能的保持它的运行,即使出现内存不足等情况,Android也会先杀死堆栈底部的Activity,来确保运行状态的Activity正常运行。
暂停状态:
在某些情况下,Activity对用户来说,仍然是可见的,但不再拥有焦点,即用户对它的操作是没有实际意义的。这这个时候,它就是属于暂停状态。暂停的Activity仍然是激活的(它保留着所有的状态和成员信息并保持与Activity管理器的连接),当内存不足时,可能会被杀死。
停止状态:
当Activity完全不可见时,它就处于停止状态。它仍然保留着当前状态和成员信息。然而这些对用户来说,都是不可见的;同暂停状态一样,当系统其他地方需要内存时,它也有被杀死的可能。
生命周期事件:
Activity状态的变化是认为操作的,而这些状态的改变,也会触发一些事件。一共有如下7个生命周期事件:
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
下面是Google提供的官方文档中关于生命周期模型的图示:
生命周期事件顺序:
1.Activity从创建到进入运行状态所触发事件:
onCreate->onStart->onResume
2.当Activity从运行状态到停止状态所触发的事件:
onPause()->onStop();
3.当Activity从停止状态到运行状态所触发的事件:
onRestart->onStart->onResume
4.当Activity从运行状态到暂停状态所触发的事件:
onPause
5.当Activity从暂停状态到运行状态所触发的事件:
onResume
3.Activity处理事件
下面是Activity经常用到的事件:
onKeyDown(); 按键按下事件
onTouchEvent(); 点击屏幕事件
onKeyUp(); 按键松开事件
onTrackballEvent() 轨迹球事件
在Activity中重写以上方法即可完成相关事件的处理。
4.一个Activity实现页面转换
若有layout文件夹下有多个view xml文件。需要实现各个view间的转换,只需要要Activty中调用setContentView()方法即可。
利用setContentView()来转换页面又一个优点,就是不管是类变量,还是类函数都在一个Activity中,不需要参数的传递。
后续会讲到多个Activity是如何实现页面转换与数据传递的。
以上是对Activity的简单的介绍。