zoukankan      html  css  js  c++  java
  • activity学习(1) 生命周期理解

    可以忽略onWindowFocusChanged、onSaveInstanceState、onRestoreInstanceState几个事件,这几个事件官网中的生命周期里面没有提到、忽略掉这几个方法看起来可能会更加易懂

    1、activity 刚开始启动执行的顺序: onCreate()——onStart()——onResume()——onWindowFocusChanged()

    2、activity被其它activity覆盖( android:theme="@android:style/Theme.Dialog")或者锁屏执行的顺序:onPause()——onWindowFocusChanged(),暂停当前activity的执行

      2.1、当系统资源不足被,kill掉activity之前前执行:onSaveInstanceState()——onDestory(),kill掉之前要做的一些保存数据的操作可以放到此方法中完成

      2.2、onPause()、onStop(),当被覆盖的activity被完全覆盖时是处在onStop(),当没有被完全覆盖处在onPause()

    3、当activity被其它activity覆盖( android:theme="@android:style/Theme.Dialog")回到前台或解锁时执行:onResume()——onWindowFocusChanged()

    4、当activity转到其他新的activity或按HOME键执行顺序:onPause()——onWindowFocusChanged()——onSaveInstanceState()——onStop()

    5、用户回退至activity执行顺序(没有被系统kill掉的执行顺序):onRestart()——onStart()——onResume()

      5.1、如果已经被kill掉,执行顺序:onCreate()——onStart()——onRestoreInstanceState()——onResume()——onWindowFocusChanged()

    6、当用户退出当前activity(通过返回键退出),执行顺序:onPause()——onWindowFocusChanged()——onSaveInstanceState()——onStop()——onDestory()

    7、用户转屏时是销毁掉当前的activity,然后重新生成新的activity,所以执行顺序如下:

    onPause()(——onWindowFocusChanged())——onSaveInstanceState()——onStop()——onDestory()——onCreate()——onStart()——onRestoreInstanceState()——onResume()——onWindowFocusChanged()

       7.1、此处经测试发现onWindowFocusChanged方法没有被调用

    补充:

    onSaveInstanceState:此方法貌似只有在activity被遮挡、按了home键、或者打开新的activity覆盖才会调用。返回按钮、系统kill等直接触发onDestory()方法的操作都不会调用此方法

    onRestoreInstanceState:此方法只有在需要恢复的时候调用(不是调用了onSaveInstanceState,重新打开时就一定调用onRestoreInstanceState,比如后台的activity被系统kill掉,重新打开时就不会调用onRestoreInstanceState了)

    以上都是个人理解,如果有不对之处,希望指正,多谢。

  • 相关阅读:
    【原】csv文件导入MySQL数据库的实践
    【原】两个时间相加的运算符重载实现
    【转】趣味题:"Hello,world"的输出
    【转】WordPress源码解读(3)
    轻松记住大端小端的含义(附对大端和小端的解释)
    《编程精粹》书摘与读书笔记
    malloc/free函数的简单实现及思考
    如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式
    Essential C++学习笔记备忘
    Linux中随手可得的测试、调试、性能检验工具
  • 原文地址:https://www.cnblogs.com/lxiang/p/3642802.html
Copyright © 2011-2022 走看看