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

  • 相关阅读:
    qrcode在手机上不显示的问题
    css 文本溢出省略号
    css解决字段不换行
    vue小程序ref和v-for结合使用得到ref数组的一些问题
    Nginx CORS 跨域资源共享问题
    基于k8s使用helm安装Jenkins
    nginx通过自定义http header 进行服务转发
    基于Kubernetes部署nacos配置中心
    基于Centos 7.8 和Kubeadm部署k8s高可用集群
    Jenkins学习以及配置
  • 原文地址:https://www.cnblogs.com/kkrs/p/8688443.html
Copyright © 2011-2022 走看看