Activity的回调机制

这里写图片描述

这很经典,这图一定得多多研究。
onCreate():创建Activity的时候被回调,这个方法只会被调用一次。
onStart():启动Activity。
onRestart():重新启动Activity的时候被回调。
onResume():恢复Activity的时候被回调,onStart()方法之后一定执行OnResume()。
onPause():暂停Activity的时候被回调。
onStop():停止Activity的时候被回调。
onDestroy():销毁Activity的时候被回调。

可以敲以下代码,把上述几个方法重写并用打印logcat,然后试着按下返回键,和home键,然后在重新启动该Activity,试着看看Logcat的打印日志。

Activity的四种加载模式:

  • standard模式(系统默认的模式):每次通过这个模式启动目标Activity时,Android总会为目标Activity创建一个实例,并将该Activity添加到Task栈顶,(栈是先进后出),这种模式不会启动新的Task,新的Activity会不断被添加到原有的Task中。当按下返回键的时候,最上面的那个先删除。

这里写图片描述

  • singleTop模式:与standand类似,唯一不同的是,当将要被启动的Activity位于栈顶的时候,不会在创建新的实例,而是用最上面的那个实例。
  • singleTask模式:在整个Task过程中值存在一个实例。这里又分为三种情况:
    1. 如果创建的实例不存在,则会创建一个实例。
    2. 如果已经存在,并且位于栈顶,则和singleTop一样。
    3. 如果存在但是没有位于栈顶,则把所有的实例移除,把目标实例放入,从而变成栈顶。

  • singleInstance模式:在这种模式下,无论从哪个Task中启动只会存在一个目标实例。并会采用一个全新的Task来存放目标活动。

    如果目标不存在,则会用一个全新的Task来存放目标Activity,并且位于栈顶。
    如果目标实例存在,则系统会把此Task移驾前台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值