[Android]Activity生命周期

来源:互联网 发布:阿里云数据库外网 编辑:程序博客网 时间:2024/06/07 13:27

Activity身为Android的四大组件之一,其主要性是不言而喻的。当我们看到android手机上的一个个应用页面的时候,它们便是一个个Activity,就连桌面其实也只是一个Activity。因此,学习Activity的生命周期,更能使得我们掌握如何使用Activity。

首先,我们先看看谷歌API中介绍Activity生命周期的图片:


其实,这个图片早已包含了Activity的生命周期的各个阶段。下面大概解说一下:

Activity启动状态:

当Activity启动的时候,最先调用onCreate()-->onStrat()-->onResume()这三个一开始的固定执行的,问题不会太大。当执行完onResume()方法后,该Activity才算是真正运行在用户的面前。

Activity运行与暂停状态:

在Activity A运行的时候,若有其它Activity B出现在该Activity A的面前,但是并未遮住当前的Activity A,这时,此Activity A将执行onPause()方法。

当Activity A在onPause()状态的时候,半遮住Activity A的Activity B取消遮住Activity A,此时,Activity A则返回调用onResume()方法。

在Activity A运行的时候,若有其它Activity B出现在该Activity A的面前,但是已经遮住当前的Activity A,这时,此Activity A将顺序执行onPause()-->onStop()方法。(其实,也就是在Activity B在完全遮住Activity A之前是不会完全遮住Activity A的,因此要先执行onPause(),若Activity B已经半遮住Activity A,然后再完全遮住,这时直接执行onStop()方法即可)。

Activity停止状态:

当Activity处于onStop()的状态的时候,若该Activity被关闭或者被系统直接关掉则会执行onDestroy()方法,当执行完onDestroy()后,该Activity则算是完成自己的使命,被关闭了。

当Activity A在onStop()状态的时候,遮住Activity A的Activity B取消遮住Activity A,此时,Activity A则调用onRestart()-->onStart()-->onResume()。

当Activity在onStop()状态时,若当前系统的资源不够,则当前Activity可能被系统回收资源,在这时,若想重新使用该Activity,则需要重新从onCreate()方法那里重新执行。

1 0