Android之Activity学习

标准模式 

    启动一个activity时,在当前的任务栈中添加一个实例置于栈顶 

栈顶复用 

    如果新建的Activity位于任务栈的顶端,则直接冲用处于栈顶的实例 

栈内复用 

    查看Activity想要的任务栈是否存在,如果不存在,则重建一个新的任务栈,然后将该实例放置在栈顶 

    如果存在,看其是否在栈内,若在栈内,则将其之上的所有实例全部出栈,等效将其置于栈顶,若不在栈内,则新建一个实例并置于栈顶 

单例 

    直接创建一个任务栈然后将该实例放入栈中 

 

设置方式 

  1. 在activity内添加android:lanchMode=“启动模式"
  1.  通过intent设置

注:intent的优先级高于lanchmode的优先级 

 

 

Activity的生命周期 

  • onCreate 
  • onStart 
  • onResume 
  • 运行状态。。。。 
  • onPause 
  • onStop 
  • onDestroy 

 

配对状态

  • Create和Destoy是配对的 
  • Start和Stop是配对的 
  • Resume和Pause是配对的 

 

Tips:

首先,从当前Activity A启动新的Activity B时,先调用A的pause,再调用B的Resume 

 

几种一般场景

其中A=Activity 

 

启动A 

Create-> Start -> Resume    运行 

 

当前A被部分覆盖但是仍然可见 

运行->Pause 

 

当前A被全部覆盖不可见 

运行->Pause->Stop 

 

当前A从部分覆盖到前台 

Pause->Resume->运行 

 

当前A从全部覆盖到前台 

Stop->Restart->Start->Resume->运行 

 

从运行到退出 

运行->Pause->Stop->Destroy 

 

当A处于后台或被完全覆盖,且内存不足时 

Stop->Destroy 

若再次进入A,则重新来一遍 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值