Android中四大组件之Activity(二)

4 Activity的生命周期(掌握)

         [1]    onCreate方法                   当activity创建的时候调用

         [2]    onDestroy方法  当Activity销毁的时候调用

         [3]    onStart方法  放Activity界面变成可视的时候调用

         [4]    onStop方法     当Activity界面不可见的时候调用

         [5]    onResume方法 用户可以交互:界面有按钮可以被点击了获取了焦点的时候调用

         [6]    onPause方法           界面上按钮不可以被点击失去了焦点

         [7]    onRestart方法当activity重新可见的时候调用(一般调用onRestart方法后一定会调用onStart方法,所以一般只重写onStart方法)


5 横竖屏切换Activity的生命周期

        onPause-->onStop-->onDestory-->onCreate-->onStart-->onResume

       

Activity里面配置:

        

           android:name=".MainActivity"

            android:screenOrientation="portrait"//代表竖屏

           //android:screenOrientation="landscape"//代表横屏

           android:label="@string/app_name" >

           

               

               

           

       


5 任务栈的概念

补充:栈(先进后出)    队列(先进先出)

任务栈(task)是和Activity有关系的

Android中四大组件之Activity(二)_第1张图片

【1】打开一个页面(Activity)就叫做进栈,打开一个页面(Activity)也叫作开启一个任务;关闭一个页面(Activity)就叫做出栈。

【2】我们操作的Activity永远是任务栈的栈顶元素。

【3】任务栈是用来维护用户操作体验的

【4】应用程序退出了就是任务栈清空了

【5】一般情况,一般情况,一般情况,一个应用程序对应一个任务栈


6 Activity的四种启动模式

【1】standard

Android中四大组件之Activity(二)_第2张图片

标准的启动模式,这时退出的顺序02-->01-->02-->01


【2】singleTop

Android中四大组件之Activity(二)_第3张图片

         Singletop单一顶部模式 在activity的配置文件中设置android:launchMode=”singleTop”

         如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。保证栈顶如果存在,不会重复创建。

         应用场景:浏览器的书签


【3】singleTask

Android中四大组件之Activity(二)_第4张图片

         singletask单一任务栈,在当前任务栈里面只能有一个实例存在

         当开启activity的时候,就去检查在任务栈里面是否有实例已经存在,如果有实例存在就复用这个已经存在的activity,并且把这个activity上面的所有别的activity都清空,复用这个已经存在的activity,保证整个任务栈里面只有一个实例存在

         应用场景:浏览器的activity

 

         如果一个activity的创建需要占用大量的系统资源(CPU,内存),一般配置这个activity为singletask的启动模式。


【4】singleInstance

Android中四大组件之Activity(二)_第5张图片

        singleInstance启动模式非常特殊,activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在

         如果你要保证一个activity在整个手机操作系统里面只有一个实例存在,使用singleInstance

         应用场景:来电页面


你可能感兴趣的:(Android中四大组件之Activity(二))