Activity生命周期

摘要:Activity主要是Android的四大组件之一,主要用于用户与系统的交互。

一、Activity生命周期中调用方法

  1.onCreate:界面被启动的时候调用

  2.onDestroy:界面被销毁的时候调用

  3.onStart:界面可见的时候调用

  4.onStop:界面不可见的时候调用

  5.onResume:界面获取到焦点的时候调用

  6.onPause:界面失去焦点的时候调用

 

二、任务栈

  在任务栈中打开一个Activity叫做进栈,关闭一个Activity叫做出栈,任务栈主要是用来维护Activity,用来和用户进行交互,我们操作的Activity永远是栈顶的Activity。当一个应用退出的时候,实际在退出的时刻仅仅是任务栈被清空了,该应用的进程还在后台运行。该进程当系统内存不足的时候会被系统关闭。这样做的唯一理由就是:当应用再次运行的时候会提高应用的快速启动。

 

三、Activity的四种启动方式

  1、standard模式:每打开一个Activity均会在任务栈中进栈,每按一次后退键则只将栈顶的Activity移除任务栈。

 
 
android:launchMode="standard"  //默认Activity启动模式
 
 

  2、singleTop模式:如果一个Activity配置成了singleTop模式,则在开启该Activity时会先检查当前任务栈栈顶Activity,如果栈顶Activity为欲开启的Activity,则直接复用栈顶的Activity。

 android:launchMode="singleTop"

  3、singleTask模式:如果一个Activity配置成了singleTask模式,则当多次开启该Activity前,会检查当前任务栈中是否有该Activity实例存在,如果存在,则复用该实例,并且将该实例上的所有Activity实例全部清空。

android:launchMode="singleTask"

  4、singleInstance模式:如果一个Activity配置成了singleInstance模式,则启动该Activity时,其会单独创建一个任务栈,且无论开启多少个该Activity,其在任务栈中只有一个实例存在,且应用如果对应多个任务栈,则哪个Activity在最前面,哪个任务栈就在最前面。

android:launchMode="singleInstance"

注:如果没有在AndroidManifest.xml的Activity节点下配置防止横竖屏切换的属性,当该Activity被横竖切换的时候,其生命周期会先被销毁然后在重新启动。在实际的开发过程中,一般会在AndroidManifest.xml的Activity节点下配置防止横竖屏切换的属性:第一种方法: android:configChanges="orientation|keyboardHidden|screenSize";第二种方法:android:screenOrientation="portrait"或者android:screenOrientation="landscape"。

 

转载于:https://www.cnblogs.com/doitbyyourself/p/6245963.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值