临文乍了了,彻卷兀若无。这篇文章主要讲述android activity的生命周期和启动模式相关的知识,希望能为你提供帮助。
activity是android开发的基本中的基本每一个项目都会有activity。activity有自己的生命周期,在网上有很多博客和资料,在这里我也只是印证一下。
一个activity:
在打开activity的时候会走下面三个方法
onCreate
onStart
onResume
在单击回退activity时候
onPause
onStop
onDestroy
在点击home键的时候
onPause
onStop
再次打开app
onRestart
onStart
onResume
当程序崩溃的时候,不走生命周期
在有两个activity的时候,把第一个activity名称暂定位frist,第二个为second
当启动第一个activity
frist: onCreate
frist: onStart
frist: onResume
当打开第二个activity
frist: onPause
second: onCreate
second: onStart
second: onResume
frist: onStop
在第二个activity回退时
second: onPause
frist: onRestart
frist: onStart
frist: onResume
second: onStop
second: onDestroy
在第二个activity点击home
second: onPause
second: onStop
再次打开app
second: onRestart
second: onStart
second: onResume
activity的启动模式
standard:标准模式,每次启动一个Activity都会重新建一个新的实例,不管这个实例是否已经存在
【android activity的生命周期和启动模式】singleTop:栈顶复用模式,如果新Activity已经位于任务站的栈顶,那么次Activity不会被重新创建,同时它的onNewIntent方法会被调用,通过此方法的参数我们可以去取当前请求的信息.
singleTask:栈内复用模式,这是一种单实例模式,在这种模式下,只要Activity在一个栈中存在,那么多次启动此Activity都不会重新创建实例,和singleTop一样,系统也会调用其onNewIntent
singleIntance:单实例模式,一种加强的singleTask模式,除了具有singleTask模式的所有特性,还具有此种模式的Activity只能单独地位于任务栈中,由于栈内复用的特性,后续的请求均不会创建新的Activity,除非这个任务栈被系统销毁
github地址 https://github.com/tempest1/AndroidActivity
推荐阅读
- 优质的直播源码为您搭建不一样的直播APP
- 使用appassembler插件生成启动脚本
- 抓包分析Charles和 夜神模拟器 对安卓应用进行抓包分析
- Android探究2(Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期)
- Android中的padding和margin的区别
- Android OTG之USB转串口模块通讯
- Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法
- Android自动化之Monkey环境搭建
- Codeforces 930 A. Peculiar apple-tree (dfs)