• Actibivity的生命周期


      有许多人对Activity的生命周期理解的不够透彻,希望下面的文字能你们带来一定的帮助。

      首先看看android developers 网上的activity的生命周期图:

     

    1. Activity启动的时候:onCreate ---> onStart ---> onResume 这个过程大家都知道,我就不多讲了。

    2.接下来我主要讲讲: 何时onPause, 何时onStop,何时onDestory; 以及恢复的时候,何时onRestart,何时onResume。

    为了方便大家理解,根据以下示例来进行讲解,如下图

       

      Activity04为当前的Activity,SecondActivity为第二个Activity。

    通过Activity的生命周期图我们可看出Activity在Running状态跳转到OnPause状态的原因是:Another activity comes in front of the activity.也就是说:另一个activity启动并运行了;

    比如说通过startActivity启动了SecondActivity,那么SecondActivity就在ui视图的最顶层了,而Activity04不再是最顶层的activity了,此时就会onPause了,此时我们依然还能看到Activity04,只是Activity04已经站在他人之后了。

        而当Activity04完全被SecondActivity挡住,完全看不见的时候,此时Activity04就会onStop了。Activity的生命周期图可以看出onPause到onStop的原因是:the activity is no longer visiable. 也就是说此时Activity04完全不可见了,从这里我们可以猜测当按下home键的时候,当前activity就会处于onStop的状态。

    从actvitiy的生命周期图中,我们可以看出activity是可以停留在onPause和onStop在这两个状态上的,因为可以相应的恢复。

    3. 那么何时停留在onPause,何时停留在onStop呢?

    下图的Activity04就是处于onPause状态:


    因为这里的SecondActvity是dialog样式:
    <activity android:name=".SecondActivity" android:theme="@android:style/Theme.Dialog">
    也就验证了当Activity04不再在最顶端,但仍然可见的时候,Activity04就处于onPause状态,此时如果退出(back键)second activity,那么Activity04就会onResume。


    下图的Activity04就是处于onStop状态(注意,这里的ThirdActivity是在Activity04中通过ThirdActivity 按钮启动的):


     


    因为此时Activity04已经完完全全被ThridActvity挡住了,完全不可见了,所以Activity04处于onStop状态,如果此时退出ThridActivity(back键),那么Activity04就会onRestart().


    何时onDestory呢?
    当在Activity04中按back键,退出时,最终就会走到onDestory,或者在代码中调用finish()的时候也会走到onDestroy这一步。



    对于activity生命周期图的左侧部分:

    Activity04处于onPause和onStop状态时,当更高优先级的apps需要内存,而此时系统内存不够了,那么android系统就会将Activity04所在的进程给杀了以释放资源。
    当然被杀了之后,想重生,那必须得从头来过: onCreate ---> onStart() ---> onResume().


    示例下载 Activity_04.rar





  • 相关阅读:
    ZYB建围墙
    换根DP
    原码,反码,补码的计算
    字符串游戏-博弈论-trie
    【十连赛day8】神炎皇
    生成序列
    【USACO 2006 February Silver】产奶安排Stall Reservations-贪心
    tar 压缩解压命令
    java 注解
    回溯算法解决全排列问题
  • 原文地址:https://www.cnblogs.com/huangjihua/p/4125176.html
Copyright © 2020-2023  润新知