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

    2015年10月23日 周五 16:31:16
    Activity 的 launchmode 为默认值。

    1.桌面图标启动 App,按 Back 键返回:

    onCreate()
    onStart()
    onResume()

    【Back键按下】

    onPause()
    onStop()
    onDestroy()

    2.长按 Home 按键,从最近程序中点击图标进入:

    与情况1相同。

    onCreate()
    onStart()
    onResume()

    3.启动App,按 Home 按键,然后再点击图标进入:

    1.按下 Home 键长时间不进入 App,会先执行 onPause(),过会执行onSaveInstanceState(),onStop()

    【Home键按下】
    onPause()
    onSaveInstanceState()
    onStop()

    【再次进入App】
    onRestart()
    onStart()
    onResume()

    2.按完 Home 键,快速点击图标进入 App。

    【Home键按下】
    onPause()

    【再次快速进入 App】
    onResume()

    4.新启动 Activity 全部覆盖,back 退出新 Activity:

    【启动 Activity1】
    A1 onCreate()
    A1 onStart()
    A1 onResume()

    【再跳转到 Activity2】
    A1 onPause()
    A2 onCreate()
    A2 onStart()
    A2 onResume()
    A1 onSaveInstanceState()
    A1 onStop()

    【再从 Activity2 Back】
    A2 onPause()
    A1 onRestart()
    A1 onStart()
    A1 onResume()
    A2 onStop()
    A2 onDestroy()

    【再从Activity1 Back】
    A1 onPause()
    A1 onStop()
    A1 onDestroy()

    5.新 Activity 部分覆盖,back 退出新 Activity

    A1 onCreate()
    A1 onStart()
    A1 onResume()

    【启动A2】
    A1 onPause()
    A2 onCreate()
    A2 onStart()
    A2 onResume()

    【从A2Back】
    A2 onPause()
    A1 onActivityResult()
    A1 onResume()
    A2 onStop()
    A2 onDestroy()

    6.普通Dialog部分覆盖:
    同AlertDialog

    7.AlertDialog部分覆盖:
    onCreate()
    onStart()
    onResume()

    【显示AlertDialog】
    【关闭AlertDilaog】
    在AlertDialog出现以及消失的过程中,没有触发任何onXXX事件。

    8.来电覆盖:
    等同新 Activity 全覆盖

    9.桌面控件intent启动:

    9.1.目标Activity未启动:
    等同桌面图标直接启动,会直接启动一个新Activity。

    9.2.目标Activity已经启动并且在最上层
    如果目标Activity是由桌面控件触发的,那么等同情况3,不会创建新Activity。
    如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。

    9.3.目标Activity已经启动但是不在最上层
    如果目标Activity是由桌面控件启动的,那么不会创建新Activity,但也不会把目标Activity提到最上层。
    如果目标Activity是由Launcher图标启动的,那么会不停的创建新Activity。

  • 相关阅读:
    Winform Timer用法,Invoke在Timer的事件中更新控件状态
    日期字符串格式转换
    Windows服务的创建、安装、卸载
    Oracle更新表字段时内容中含有特殊字符&的解决方法
    MVC无刷新查询,PagedList分页控件使用,导出Excel
    网页抓取解析,使用JQuery选择器进行网页解析
    asp.net webform 自定义分页控件
    if __name__ == "__main__": tf.app.run()
    Python 虚拟机
    paper reading----Xception: Deep Learning with Depthwise Separable Convolutions
  • 原文地址:https://www.cnblogs.com/zx-blog/p/11835888.html
Copyright © 2011-2022 走看看