Activity知识总结

Activity也叫活动,是Android四大组件之一。

生命周期:

1、onCreate():Activity被创建,这个阶段可以做一些初始化工作(界面、数据等)。

2、onRestart():Activity正在被重新启动,这种情形一般是用户行为导致(按Home、进入新的Activity又重新回退)。

3、onStart():Activity被启动,这个阶段属于可见但无法交互。

4、onResume():Activity处于前台并可以进行交互。

5、onPause():Activity正在停止。

6、onStop():Activity即将停止。

7、onDestory():Activity被销毁,这里必须回收所有的系统资源。

典型情况下生命周期:

1、第一次启动:onCreate、onStart、onResume。

2、打开新Activity或按Home进入桌面:onPause、onStop。(如果新Activity为透明则不会回调onStop)。

3、再次回到原Activity:onRestart、onStart、onResume。

4、按下back键回退时:onPause、onStop、onDestory。

异常情况下生命周期:

1、Activity被系统杀死并重建:onPause/onSaveInstanceState(这两个方法没有既定的时序关系)、onStop、onDestory、onCreate、onStart、onRestoreInstanceState、onResume。

优先级:

1、前台Activity:与用户进行交互的Activity,优先级最高。

2、可见非前台Activity:无法与用户交互但可见的Activity(如打开了对话框),优先级次于前台Activity。

3、后台Activity:调用了Stop方法的Activity,优先级最低。

横竖屏切换时不重建Activity方法:

在AndroidMenifest.xml中的activity节点加一个“configChange="orientation|screenSize"”即可。

启动模式:

1、standard:标准模式,采用先进后出方法,每一次启动都需创建新的Activity。

2、singleTop:栈顶复用模式,如果Activity位于栈顶,则无需新建Activity直接复用即可。

3、singleTask:栈内复用模式,如果Activity处于栈中,则会把排于其上的Activity都挤出栈内,然后复用。

4、singleInstance:单实例模式,具有此种模式的Activity会位于一个单独的栈内。

设置启动模式方法:

1、AndroidMenifest方式:在AndroidMenifest.xml中的activity节点加一个“launchMode="你想要的的模式"”即可。

2、代码方式:通过给Intent增加标记位来设置启动模式:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

优先级第二种高于第一种,如果两者同时存在,优先使用第二种。

Activity启动方式:

1、显示调用

Intent intent = new Intent(this, SecondActivity.class);
        startActivity(intent);

2、隐式调用

隐式调用需要Intent能够匹配目标组件中的IntentFilter中的所有的信息,包括action、category、data。

学习资料:Android开发艺术探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章