zoukankan      html  css  js  c++  java
  • android activity的生命周期和启动模式

    activity是android开发的基本中的基本每一个项目都会有activity。activity有自己的生命周期,在网上有很多博客和资料,在这里我也只是印证一下。

    一个activity:

    在打开activity的时候会走下面三个方法

    onCreate
    onStart
    onResume

    在单击回退activity时候

    onPause
    onStop
    onDestroy

    在点击home键的时候

    onPause
    onStop

    再次打开app

    onRestart
    onStart
    onResume

    当程序崩溃的时候,不走生命周期

    在有两个activity的时候,把第一个activity名称暂定位frist,第二个为second

    当启动第一个activity

    frist: onCreate

    frist: onStart

    frist: onResume

    当打开第二个activity

    frist: onPause
    second: onCreate
    second: onStart
    second: onResume
    frist: onStop

    在第二个activity回退时

    second: onPause
    frist: onRestart
    frist: onStart
    frist: onResume
    second: onStop
    second: onDestroy

    在第二个activity点击home

    second: onPause
    second: onStop

    再次打开app

    second: onRestart
    second: onStart
    second: onResume

    activity的启动模式

    standard:标准模式,每次启动一个Activity都会重新建一个新的实例,不管这个实例是否已经存在

    singleTop:栈顶复用模式,如果新Activity已经位于任务站的栈顶,那么次Activity不会被重新创建,同时它的onNewIntent方法会被调用,通过此方法的参数我们可以去取当前请求的信息.

    singleTask:栈内复用模式,这是一种单实例模式,在这种模式下,只要Activity在一个栈中存在,那么多次启动此Activity都不会重新创建实例,和singleTop一样,系统也会调用其onNewIntent

    singleIntance:单实例模式,一种加强的singleTask模式,除了具有singleTask模式的所有特性,还具有此种模式的Activity只能单独地位于任务栈中,由于栈内复用的特性,后续的请求均不会创建新的Activity,除非这个任务栈被系统销毁

    github地址 https://github.com/tempest1/AndroidActivity

  • 相关阅读:
    zabbix执行远程命令
    zabbix监控主从同步
    s3fs+minio模拟挂载S3服务器到本地服务器
    PHP编译报错
    ldd可执行程序时返回not a dynamic executable
    Windows nessus安装
    Django数据库,在原有表中添加新字段
    docker安装fastdfs与java客户端测试
    Docker安装与启动
    2018HBCPC
  • 原文地址:https://www.cnblogs.com/kkrs/p/8688443.html
Copyright © 2011-2022 走看看