当前位置: 移动技术网 > 移动技术>移动开发>Android > Android活动的生命周期

Android活动的生命周期

2020年07月08日  | 移动技术网移动技术  | 我要评论

返回栈

Android中的活动是可以层叠的。每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。
其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈(Back Stack)。栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的活动,他会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。

活动状态

一、生命周期五种状态
(1)启动状态:Activity的启动状态很短暂,当Activity启动后便会进入运行状态。
(2)运行状态:Activity在此状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互。如单击、长按等事件。即使出现内存不足的情况,Android也会先销毁栈底的Activity,来确保当前的Activity正常运行。 (3)暂停状态:在某些情况下,Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有没有响应,此时它处于暂停状态。
(4)停止状态:当Activity完全不可见时,它处于停止状态,但仍然保留着当前的状态和成员信息。如系统内存不足,那么这种状态下的Activity很容易被销毁。
(5)销毁状态:当Activity处于销毁状态时,将被清理出内存。
二、生命周期七种方法

(1)onCreate()方法:在Activity创建时调用,通常做一些初始化设置。

(2)onStart()方法:在Activity即将可见时调用。

(3)onResume()方法:在Activity获取焦点开始与用户交互时调用。

(4)onPause()方法:在当前Activity被其他Activity覆盖或锁屏时调用。

(5)onStop()方法:在Activity对用户不可见时调用。

(6)onDestroy()方法:在Activity销毁时调用。

(7)onRestart()方法:在Activity从停止状态再次启动时调用
三、onCreate和onStart之间有什么区别?
(1)可见与不可见的区别。前者不可见,后者可见。

(2)onCreate方法只在Activity创建时执行一次,而onStart方法在Activity中被多次调用。onCreate能做的事onStart其实都能做,但是onstart能做的事onCreate却未必适合做。如前文所说的,setContentView和资源初始化在两者都能做,然而想动画的初始化在onStart中做比较好。

本文地址:https://blog.csdn.net/Miraclefate/article/details/107163842

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网