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

    Activity的基本概念,以及Activity的生命周期

    一、Activity的基本概念

    Activity就是你打开一个app之后,见到的充满整个窗口或者悬浮于其他窗口上的交互界面。对于Activity的配置在AndroidManifest.xml中进行配置,一个应用程序可有多个Activity,主Activity在AndroidManifest.xml中的配置如下:

     <application
    
            android:allowBackup="true"
    
            android:icon="@drawable/ic_launcher"
    
            android:label="@string/app_name"
    
            android:theme="@style/AppTheme" >
    
            <activity
    
                android:name="com.lisa.helloactivity.MainActivity"
    
                android:label="@string/app_name" >
    
                <intent-filter>
    
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
    
                </intent-filter>
    
            </activity>
    
        </application>

    主Activity需要在<intent-filter>节点中指定action和category子节点为黄色背景显示的内容,这样app启动后首先看到的就是这个页面。。。主Activity可以通过启动其他的Activity来跳转到其他页面,这个通过在程序中使用Intent来传递意图达到目的,一般是Intent intent = new Intent(), intent.setClass(A.this, B.class)来完成从A 的Activity跳转到B的Activity的目的。

    Activity之间的切换会通过压入栈(后进先出)的操作来完成,一个新的Activtiy被切换到foreground之后,新的Activity被压入栈,位于栈顶,获取用户焦点;点击back键之后,位于栈顶的Activity被出栈,上一个Activity到达栈顶,并重新获取用户焦点。

    二、Activity的生命周期

    首先来一张生命周期的经典图示:

     

    然后跟安卓的生命周期相关的7个方法:

    1、void onCreate(Bundle savedInstanceState)

    什么是Bundle savedInstanceState?Bundle是一个键值对,用来存储当前的Activity的一些状态,用于在onResume或者onRestart之后方便恢复状态使用。

    2、void onStart()

    3、void onResume()

    4、void onPause()

    5、void onStop()

    6、void onRestart()

    7、void onDestory()

    上图包含三个关键的循环:

    1、完整的生命周期:从onCreate()开始到onDestory()结束

    2、可见的生命周期:从onStart()onStop()

    3、前台生命周期(或者说获得焦点的生命周期):从onResume()onPause()

  • 相关阅读:
    VUE调用函数,以及event的讲解
    VUE双向绑定,以及表达式自增
    使用VUE的准备工作,以及显示文本
    MVC中VUE的学习
    Redis
    C# form表单提交enctype="multipart/form-data" 与 enctype="application/x-www-form-urlencoded" 两者之间的区别
    C# 导入导出
    文件压缩,解压缩
    [vue-router] Duplicate named routes definition: { name: "Front", path: "/home/front" }
    * @/components/widget/AddBands in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/pages/Brands.vue
  • 原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/4351246.html
Copyright © 2011-2022 走看看