1、
什么
是
Activity
Activity是Android的基本组件之一,主要用来与用户交互。因此Activity主要关注用户窗体的创建,可以通过setContentView(View)方法来设置UI。主要是全屏幕窗体,也有其他形式的窗体,如:浮动窗体。如果将Android比作浏览器,那么Activity相当于是网页。根据不同的处理 需求,可以在Activity的窗体中添加不同的View,如:button、checkbox等元素。
2、Activity生命周期
Activity生命周期包括7个方法:onCreate(Bundle)、onDestory();onStart()、onStop();onResume()、onPause();onRestart()。
onCreate(Bundle):这个方法在Activity初次创建时调用,用于进行常规的设置,如:创建视图。这个方法提供了Bundle对象用来保存先前冻结的状态,前提是已经将冻结的状态放入Bundle中。之后总会先调用onStart()方法,不能被系统杀死。
onDestory():这个方法是Activity销毁前调用的最后一个方法,用于清除Activity所占用的资源。
onStart():这个方法是在Activity将要对用户可见时调用,如果该Activity将要显示在前台与用户交互,则会调用onResume()方法;如果将要对用户不可见,则会调用onStop()方法,不能被系统杀死。
onStop():这个方法是在Activity将要对用户不可见时调用,可能被系统杀死。
onResume():这个方法是在Activity将要与用户进行性交互的时候调用,调用后Activity处于Activity栈的顶部。之后总会先调用onPause()方法,不能被系统杀死。
onPause():这个方法是在Activity将要失去焦点时,即在其他Activity即将与用户交互时调用。这个方法通常提交未被保存的数据。由于在这个方法调用之后,其他的Activity才能恢复与用户的交互,所以该方法不适合执行耗时的操作。可能被系统杀死。
onRestart():这个方法是在调用onStop()之后,需要重新启动的时候调用,之后总会先调用onStart()方法。
3、Activity生命周期中的三个循环
Activity的“生命周期”是在onCreate(Bundle)和onDestory()方法被调用期间,并且全局状态在onCreate(bundle)中进行设置,在onDestroy()中将所有与Activity相关的资源进行销毁。
Activity的“显示生命周期”是在onStart()和onStop()方法被调用期间。在这期间,Activity显示在屏幕上,但可能不在最前方与用户交互。onStart()和onStop()方法可以对需要显示给用户的资源进行维护,在Activity整个生命周期中能够被多次调用。
Activity的“前台生命周期”是指显示在屏幕最前端,并且可以与用户交互的状态,发生在onResume()和onPause()方法被调用期间。这期间,该Activity在其他Activity的前面,与用户进行交互,并经常在暂停与恢复之间转换。例如:当设备休眠时,或者当一个intent被传到另一个Activity时。因此,这些方法的代码必须是轻量级的。