Android Activity的生命周期及启动模式
来源:互联网 发布:淘宝买化妆品可靠吗 编辑:程序博客网 时间:2024/05/16 17:01
activity启动模式
standard
singleTop
singleTask
singleInstance
<activity android:name="com.lh.test.testActivity" android:launchMode="standard" />
standard
默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。
singleTop
可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。
singleTask
只有一个实例。在同一个应用程序中启动他的时候,若Activity不存在,则会创建一个新的实例。若存在,则会把activity栈中在其之上的其它Activity destory掉并调用它的onNewIntent方法。
如果是在别的应用程序中启动它,则会新建一个activity栈,并在该栈中启动这个Activity,singleTask允许别的Activity与其在一个栈中共存,也就是说,如果我在这个singleTask的实例中再打开新的Activity,这个新的Activity还是会在singleTask的实例的栈中。
singleInstance
只有一个实例,并且这个实例独立运行在一个栈中,这个栈只有这个实例,不允许有别的Activity存在。
activity的生命周期
onCreate()//在活动第一次被创建的时候调用,创建方法
onStart()//有不可见变为可见的时候调用,开始方法
onResume()//在活动准备好和用户进行交互的时候调用,开始方法
onRestart()//有停止状态变为运行状态之前调用,重新开始方法
onPause()//在系统准备去启动或者恢复另一个活动的时候调用。通常用这个方法将一些消耗cpu的资源释放掉,暂停方法
onStop()//活动完全不可见的时候调用。,停止方法
onDestroy()//由可见变为不可见的时候,销毁方法
activity启动情景:
1.启动Activity:onCreate() >> onStart() >> onResume(),Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:onPause(),暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:onResume(),再次进入运行状态。
4.当前Activity转到新app的Activity界面或按Home键回到主屏,自身退居后台:onPause() >> onStop(),进入停滞状态。
5.用户后退回到此Activity:onRestart() >> onStart() >> onResum(),再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:
onCreate() >> onStart() >> onResume(),进入运行状态。
7.用户退出当前Activity:onPause() >> onStop() >> onDestory(),结束当前Activity。
最后放上一张关于activity的生命周期的图,这张图让activity的生命周期非常好理解:
可以看出,整个activity的活动都是以一种onCreate>onStart>onResume>onPause>onStop>onDestory这条主线来走的,当activity被覆盖成为不可见状态的时候则会多一步onRestart然后依然走上述路线
- Android Activity的生命周期及启动模式
- Android Activity生命周期及启动模式详解
- Android之Activity生命周期及启动模式
- android activity 生命周期及启动模式
- Android的activity启动模式,和生命周期,及onkeydown方法
- Activity的生命周期及启动模式整理
- Android-Activity的生命周期与启动模式
- Activity 生命周期及启动模式
- 【Activity】Activity生命周期及启动模式
- Activity生命周期启动方式及启动模式
- Android Activity的生命周期及四种启动模式的联合研究
- 《Android开发艺术探索》之Activity的生命周期及启动模式
- Android启动过程 && Activity生命周期 && Activity开机自启动 && Activity的四种启动模式
- Activity生命周期及启动模式深入理解
- 一、Activity生命周期及启动模式
- android activity的生命周期,四种启动模式
- Android学习笔记之Activity的生命周期和启动模式
- Android小问题:SingleTask启动模式时,activity的生命周期
- 强制类型转化小结
- 数组操作中出现的 两种错误
- Linux上如何查看某个进程的线程
- mybatis中trim标签的作用
- 1.1 PCI&PCIE 配置寄存器访问
- Android Activity的生命周期及启动模式
- eclipse下修改javaWeb项目的运行地址
- 解决1452- Cannot add or update a child rowa foreign key constraint fails问题
- Spring整合Mybatis
- 创建Person类和对象张三
- java Scanner类
- 方法重载
- Mybatis-Plus代码生成器
- 初识spring