Android中的Activity

1 Activity的生命周期

1 Activity生命周期的七个方法

Android中Activity在生命周期中最多有四种状态:
- 运行状态
- 暂停状态
- 停止状态
- 销毁状态

Activity类中定义了七个回调方法,覆盖Activity生命周围的每一个环节。
- onCreate() 创建时调用,完成初始化工作
- onStart() 由不可见变为可见时调用
- onResumt() 由于用户进行交互时调用
- onPause() 系统准备去启动另外一个活动时调用
- onStop() 活动完全不可见时调用
- onDestory() 活动在完全销毁之前调洪
- onRestart() 活动由停止状态恢复运行状态之前调用

image

2 其他的方法

http://blog.csdn.net/liuhe688/article/details/6733407
- onWindowFocusChanged

在Activity窗口获得或者失去焦点时调用,例如创建时首次呈现在用户面前,Activity被其他Activity覆盖, 当前Activity转到其他Activity或者Home键回到主屏,用户退出当前Activity,以上几种情况都会被调用

  • onSaveInstanceState

    (1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,此方法会被调用;(2)在用户改变屏幕方向时,此方法会被调用;(3)在当前Activity跳转到其他Activity或者按Home键回到主屏,自身退居后台时,此方法会被调用。第一种情况我们无法保证什么时候发生,系统根据资源紧张程度去调度;第二种是屏幕翻转方向时,系统先销毁当前的Activity,然后再重建一个新的,调用此方法时,我们可以保存一些临时数据;第三种情况系统调用此方法是为了保存当前窗口各个View组件的状态。onSaveInstanceState的调用顺序是在onPause之前。

  • onRestoreInstanceState:

    (1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,然后用户又回到了此Activity,此方法会被调用;(2)在用户改变屏幕方向时,重建的过程中,此方法会被调用。我们可以重写此方法,以便可以恢复一些临时数据。onRestoreInstanceState的调用顺序是在onStart之后。

2 Activity的启动模式

  • standard: 默认启动模式,当创建activity时不会在意返回栈中是否已经有这个活动;
  • singleTop: 当启动的acitivity就在返回栈的栈顶时,则直接使用该activty而不用重新创建;
  • singleTask:当某个activty的启动模式为singleTask时,每次启动该activty都会检查返回栈中是否存在该activity,如果存在,则该activity之前的活动统统出栈,如果不存在就创建一个新的活动;
    当activy制定了不同的的taskAffinity, 会启动一个新的返回栈
  • singleInstanc: 会启动一个新的返回栈来管理该activity, 不管是哪个应用程序来访问这个活动,都会公用一个返回栈,解决了共享activity实例的问题。

3 Activity的intent-filter

 <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
  • 如果app中没有activity的action设置为Main(不管Category是否设置为Launcher),也就不会有图标出现
  • 如果app中多个Activity同时设定了action为Main, Catogory设置为Launcher, 则出现多个图标,分别进入不同的activity
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值