Android Activity必知

Activity 用四个基本的状态

1 active 如果 activity 在前台(在栈的最顶部),那么他处于 active  running 的状态

2 paused : 如果 activity 已经失去但仍保持可见(具有焦点的新 activity 不是全屏的或者透明),那这个 activity 处于 paused 状态。   一个 pausedactivity 仍然是 alive( 仍然保持所有的状态和成员信息,保持着和 window managerattached 关系 ) ,但在系统处于低内存状态可能被 killed

3 stopped: 如果 activity 被另外一个 activity 完全屏蔽,那么他处于 stopped 状态。这样的 Activity 仍然保持所有的状态和成员信息,然而,对于用户而言将不在可见并且很容易被 killed 当系统需要额外的内存时。

4 Killed .  如果 activity 处于 pausedstopped 状态,系统可能从内存中销毁 activity 通过调用 finish 或者简单的杀掉他的进程。当再次显示时,将全部重新启动和加载原来的状态

api:

onCreate(Bundle) 到最终调用 onDestroy() 称为完整生命周期

onStart() 开始,到调用对应的 onStop() 为止称为可见生命周期

onResume() 开始,到调用对应的 onPause() 为止称为前景生命周期

 

onCreate(Bundle)   初次创建时被调用,  创建view 、将数据绑定到list

onStart()   activity 首次创建,本方法后将会调用onStart()

onRestart()   activity 是停止后重新显示,则将调用onRestart()

onResume()   activity activity 栈的栈顶,  从停止状态重新启动时调用

onPause() 当系统要启动一个其他的activity 时调用(其他的activity 显示之前),这个方法被用来提交那些持久数据的改变、停止动画、和其他占用CPU 资源的东西

onStop() 当另外一个activity 恢复并遮盖住此activity, 导致其对用户不再可见时调用,  一个新activity 启动、其它activity 被切换至前景、当前activity 被销毁时都会发生这种场景

onDestroy() activity 被销毁前所调用的最后一个方法,对activity 直接调用 finish() 方法

 

 

Activity的四种加载模式

Activity有四种加载模式:

1 standard:  每次都创建了该Activity的新实例。standard的加载模式就是这样的,intent将发送给新的实例,
              点Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现,类似退栈的操作,而刚才操作跳转按钮的过程是压栈的操作
2 singleTop: singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例,可用来解决栈顶多个重复相同的Activity的问题
3 singleTask: 当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它
4 singleInstance: 解决Activity共享后,回退的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值