码迷,mamicode.com
首页 > 移动开发 > 详细

android activity的生命周期和启动模式

时间:2018-04-01 23:00:12      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:启动模式   oid   creat   任务栈   cond   git   实例   github   基本   

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都会重新建一个新的实例,不管这个实例是否已经存在

singleTop:栈顶复用模式,如果新Activity已经位于任务站的栈顶,那么次Activity不会被重新创建,同时它的onNewIntent方法会被调用,通过此方法的参数我们可以去取当前请求的信息.

singleTask:栈内复用模式,这是一种单实例模式,在这种模式下,只要Activity在一个栈中存在,那么多次启动此Activity都不会重新创建实例,和singleTop一样,系统也会调用其onNewIntent

singleIntance:单实例模式,一种加强的singleTask模式,除了具有singleTask模式的所有特性,还具有此种模式的Activity只能单独地位于任务栈中,由于栈内复用的特性,后续的请求均不会创建新的Activity,除非这个任务栈被系统销毁

github地址 https://github.com/tempest1/AndroidActivity

android activity的生命周期和启动模式

标签:启动模式   oid   creat   任务栈   cond   git   实例   github   基本   

原文地址:https://www.cnblogs.com/kkrs/p/8688443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!