Android Activity

来源:互联网 发布:数据库导论 pdf 编辑:程序博客网 时间:2024/05/10 22:21

Activity总结


一.Activity生命周期


当第一次调用一个Activity就会执行onCreate方法
当Activity处于可见状态的时候就会调用onStart方法
当Activity可以得到用户焦点的时候就会调用onResume方法
当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法
当Activity被遮挡住的时候就会调用onPause方法
当Activity被销毁时会调用onDestory方法

二.Activtiy属性

AndroidManifest.xml中的<activity>标签中可以配置android:launchMode属性,用来控制Actvity的启动模式
Android系统中我们创建的Acitivity是以栈的形式呈现的,
每个应用都有独立的任务栈Task.一个栈中可以有多个Activity.
启动另一个应用的Activity,会把那个应用的栈也移到前面,(栈里面可能还有这个应用的其它的Activity)
standard:每次调用startActivity()启动时都会创建一个新的Activity放在栈顶
  PS:默认都是这个模式
singleTop:启动Activity时,指定Activity不在栈顶就创建,如在栈顶,则不再创建
  PS:不会出现两个相同的Activity相邻
singleTask:如果启动的Activity不存在就创建Activity,如果存在直接跳转到指定的Activity所在位置
  PS:在其上面的Activity会被移出栈,也就是一个栈中不能有重复的Activity
singleInstance:如果启动的Activity不存在就创建一个Activity同时创建一个栈,如果存在就将指定的Activity存在的栈移动到栈顶
  PS:表示这个Activity只能存在于一个独立的任务栈中,同应用的其它Activity与其无关.

多次点击跳转activity可进行如下设置:

<activity
           android:name="com.xxx.xxx.Activity"
           android:launchMode="singleInstance" />


Activity设置竖屏:android:screenOrientation="portrait"

三.Activity Task

在Intent中设置如下两条属性,可以实现APP点击退出后仍然可以返回:
FLAG_ACTIVITY_CLEAR_TASK和FLAG_ACTIVITY_NEW_TASK
退出所有的activity,可以在基类activity中写一个广播,收到广播后退出。这样实现后,发送广播就可以退出所有activity。
1 0
原创粉丝点击