---------------------- android培训、java培训、期待与您交流! ---------------------
1:Activity的七个生命周期函数
onCreate(); Activity第一次创建时调用 在onCreate();方法里我们
可以设置Activity使用的布局文件,绑定监听器等
onStart(); 当Activity能被我们看到时调用
onRestart(); 在一个Activity被重新启动之前调用
onResume(); 当Activity能获得用户焦点时调用(用户可以操作时)
onPause(); 在一个Activity调用另外一个Activity时,第一个Activity会调用这个方法 暂停一切动作,我们应该在这个方法里将第一个Activity正在操作的数据保存起 来,再回到这个Activity时数据才会恢复,将原来的Activity还原回来
onStop(); 当 一个Activity处于不可见的状态下,就会调用这个方法,比如一个Activity完全遮盖了另外一个Activity时,但是如果不是完全被遮盖不会调用
onDestroy(); 当一个Activity被销毁时调用
通常有两种情况onDestroy();会被调用:
(1)在一个Activity中明确的调用了finish();方法
(2)当android的系统资源不够用时,并且这个Activity不可见(优先级较低)时
2:Activity处于不同状态时会调用这七个生命周期函数的某一个或某几个
(1):启动一个新的Activity android的操作系统会依次调用 onCreate(); onStart(); onResume();这三个方法
(2):在一个Activity中启动另外一个Activity时会依次调用 第一个Activity的onPause(); 第二个Activity的onCreate(); 第二个Activity的onStart(); 第二个Activity的onResume(); 第一个Activity的onStop();
当第二个Activity是对话框风格时会依次调用 第一个Activity的onPause(); 第二个Activity的onCreate(); 第二个Activity的onStart(); 第二个Activity的onResume();
(3):返回第一个Activity会依次调用 第二个Activity的onPause(); 第一个Activity的onRestart(); 第一个Activity的onStart(); 第一个Activity的onResume(); 第二个Activity的onStop();(); 第二个Activity的onDestroy();
当第二个Activity是对话框风格时会依次调用 第一个Activity的onResume
3:Task的基本概念
Task是一个存放Activity的栈,遵循后进先出的规则,有且只有压栈和弹栈两个动作,就是把Activity对象压入或弹出栈
4:Activity和Task之间的关系
手机显示的永远都是栈顶部Activity,Task可以把不同应用程序的Activity组织成一个单元 当Task中有a,b,c三个依次的Activity时,当执行b启动c时,并且销毁b,c如果返回,则会直接跳到a
5:对话框风格Activity的使用方法
对话框风格Activity与正常Activity在代码编写上没有任何区别,它们区别于在AndroidManifest.xml中的声明
对话框风格Activity会有一个theme的属性,这个属性中会指定它的风格为对话框风格
例:android:theme="@android:style/Theme.Dialog"
注意:当手机系统中的资源不够用时,android系统会自动关闭不重要的Activity,但只有Activity是onPause(); onStop(); onDestroy(); 系统才会关闭,而onPause();状态系统会考虑Activity是否可见才会选择关闭
---------------------- android培训、java培训、期待与您交流! ----------------------