zoukankan      html  css  js  c++  java
  • Activity生命周期

    1.正常情况  

      正常启动的过程中,他们被调用的顺序是 onCreate -> onStart -> onResume, 在被干掉的时候顺序是onPause -> onStop -> onDestroy ,

    这样就是一个完整的生命周期。程序正运行着呢来电话了,新出的一个全屏的Activity,那么:onPause->onStop ,恢复的时候onStart->onResume ,

    如果打断这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复的时候onResume 。

    (Activity未被完全覆盖只是失去焦点:onPause--->onResume)

    2. 返回键与Home键区别

       back键默认行为是finish处于前台的Activity的,即Activity的状态为Destroy状态为止,再次启动该Activity是从onCreate开始的。Home键默认是stop

    前台的Activity,而不是Destroy,若再次启动它,会调用onSaveInstanceState() 方法,保持上次Activity的状态则是从OnRestart开始的---->onStart()

    --->onResume()。

    3.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态

      当你的程序中某一个Activity A 在运行时中,主动或被动地运行另一个新的Activity B,这个时候A会执行 onSaveInstanceState。B 完成以后又会来找A,

    这个时候就有两种情况,一种是A被回收,一种是没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上参数

    savedInstanceState,没被收回的就还是onResume就好了。 

    4. 横竖屏切换的生命周期

    1).不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
    2)设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
    3)设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

  • 相关阅读:
    继承与派生
    函数,迭代器,生成器
    面向对象
    函数
    模块与包
    python面试题(转自https://www.cnblogs.com/wupeiqi/p/9078770.html)
    python学习大纲目录(转自alex博客https://www.cnblogs.com/alex3714/)
    Mysql(基础篇)
    初识HTML和CSS2
    初识前端作业1
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3795668.html
Copyright © 2011-2022 走看看