一.Activity的生命周期
Activity的生命周期有7个函数组成.
public class Activity extends ApplicationContext {
//当Activity第一次被创建的时候调用,
//设置布局文件,绑定一些组件的监听器等
protected void onCreate(Bundle savedInstanceState);
//当Activity被用户看到的时候,调用onStart方法
protected void onStart();
//已经创建过,返回的时候调用
protected void onRestart();
//当Activity能够获得用户焦点的时候,调用onRrsume方法
protected void onResume();
//当启动另一个Activity时调用
//一般都是保存第一个Activity的数据
protected void onPause();
//对用户不可见的Activity时,调用onStop方法.
protected void onStop();
//如果明确的调用了finish方法,就代表销毁当前的Activity
//当资源不够的时候,系统会自动销毁安全级别低的Activity,也就是用户不可见的Activity
protected void onDestroy();
}
例如 有A,B两个Activity
启动A时.调用
A ---> onCreate
A ---> onStart
A ---> onResume
从A跳转到B时(不是弹出对话框),调用
A ---> onPause
B ---> onCreate
B ---> onStart
B ---> onResume
A ---> onStop
从B回到A时,调用
B ---> onPause
A ---> onRestart
A ---> onStart
A ---> onResume
B ---> onStop
B ---> onDestroy
二,Task的了解
Task就是一个任务,Task就像是一个栈,遵守着先进后出的原则.一个Task中可以装着不用的Activity.可以是自己开发的Activity,也可以是系统中其他的Activity.
是用户感觉像是在一个程序中运行.
如果在AndroidManifest.xml中的Activity标签中,添加android:theme="@android:style/Theme.Dialog
就是弹出一个Activity.并不是完全的遮盖住,只是让第一个Activity失去焦点.
例如 有A,B两个Activity
启动A时.调用
A ---> onCreate
A ---> onStart
A ---> onResume
从A跳转到B时(弹出对话框),调用
A ---> onPause
B ---> onCreate
B ---> onStart
B ---> onResume
从B回到A时,调用
B ---> onPause
A ---> onResume
三.Kill
当资源不够的情况下,手机会关闭一些不重要的资源,
如一个Activity调用onPause,onStop,onDestory方法时,可能会被Kill.