• activity的生命周期及启动模式


    activity的生命周期:
    onCreate(),onStart(),onResume(),onPause(),onRestart(),onStop(),onDestory()
    对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行:onStart()

    当打开一个activity时,调用onCreate()->onStart()->onResume(),如果已经创建,不用调用onCreate(),当打开另一个activity后,一样的步骤,当它遮住原先的activity时,原先的activity会调用onPause()隐藏,当重新返回原先的activity时,第二个activity,onStop()->onDestory();第一个activity如果没有销毁的话,会直接调用onRestart(),否则需重新建立

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

    4种 activity 的启动模式:
    1.standard: 标准模式,一调用 startActivity()方法就会产生一个新的实例。
    2.singleTop: 如果已经有一个实例位于 Activity 栈的顶部时, 就不产生新的实例, 而只是调用Activity 中的 newInstance()方法。如果不位于栈顶,会产生一个新的实例。
    3.singleTask: 会在一个新的 task(工作任务) 中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
    4.singleInstance: 这个跟 singleTask 基本上是一样, 只有一个区别: 在这个模式下的Activity实例所处的 task 中,只能有这个 activity实例,不能有其他的实例。

  • 相关阅读:
    CUBRID学习笔记 44 UPDATE 触发器 更新多表 教程
    解决Tomcat出现内存溢出的问题
    用视图+存储过程解决复杂查询的排序分页问题
    IIS的安装与配置
    UI设计
    2 睡觉
    HTML5的新结构标签
    聚合函数
    Sql Group by 语句
    口语第一课
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138701.html
Copyright © 2020-2023  润新知