• Activity的生命周期(2017年11月13日)


    1、认识AndroidManifest.xml

     

    2Activity的生命周期

    Activity的生命周期是指什么?

    创建Activity到销毁Activity的整个周期。

    在这期间会发生什么?

    1layout如何显示出来?

    android操作系统实时绘画出来。

    2)如果在显示的过程中,由用户在操作,那又如何显示?

    有操作的是当前界面,也有切换界面,甚至切换程序。对显示的压力是不一样。

    为什么要对Activity设置生命周期?

    界面会切换。android操作系统为了提高切换界面的效率以及操作系统的效率,引入了Activity的生命周期。

    Activity的生命周期分为哪几个阶段?

    4个状态:

    运行状态:能看见且能操作

    【举例】直接运行一个app,当前activity就进入运行状态。

     

    暂停状态:能看见不能操作

    【举例】点击按钮,显示一个AlertDialog。背景为当前Activity,这个Activity就是一个Pause状态。

     

    【代码】

    activity_main.xml

     

    MainActivity.java

     

    停止状态:不可见、不能操作,但依然存在。在内存中继续保留。

    从一个Activity进入另一个Activity,那么前面的Activity就会进入停止状态。

    销毁状态:废弃,从内存中删除。

    系统内存不够时,且这个Activity也不再使用,系统就会销毁这个Activity。或者强制移除。

    7个回调方法(用于开发者介入Activity的生命周期):onCreate()onStart()onResume()onPause()onStop()onDestroy()

    【举例】使用7个回调观察Activity的生命周期。

    回调方法执行的流程:

    1)打开一个Activity

    onCreateàonStartàonResume

    2)从已经打开的Activity回到android的桌面,当前activity回调方法的执行过程:

    onPauseàonStop

    3Android桌面状态,打开任务栏列表,从任务栏列表中删除当前任务。

    onDestroy

    4app已打开,但是用户已经切换到android桌面,此时调出任务栏,选中app,恢复到开启状态。

    onRestartàonStartàonResume

    【代码】

     

     

    【训练】目标:执行生命周期回调方法onPause,但不执行onStop

    1)进入下一个Activity,这个新的Activity一定是透明的,目的是让第一个Activity依然能够看见。但是不能操作。

    2)启动第二个Activity,第一个进入暂停状态,并没有进入停止状态。

    步骤:

    1)创建第二个Activity为透明背景的窗体。

    1)创建透明背景颜色

    2)创建透明窗体的theme

    3)在第二个activity上引用透明窗体窗体主题。(不是layout透明,而是整个窗体透明)

    2)在第一个界面上设置按钮,让按钮点击可以跳转到第二个Activity:第一个Activity就进入了Pause状态。

    【代码】

    项目结构:

     

    colors.xml

     

    styles.xml

     

    androidManifest.xml

     

    MainActivity.java

     

     

     

     

     

    测试:

     

    日志:

     

  • 相关阅读:
    标准C语言(9)
    标准C语言(8)
    标准C语言(7)
    标准C语言(6)
    标准C语言(5)
    标准C语言(4)
    标准C语言(3)
    标准C语言(1)
    Linux基础
    Kafka 学习笔记之 Kafka0.11之console-producer/console-consumer
  • 原文地址:https://www.cnblogs.com/sanshengshitouhua/p/14577186.html
Copyright © 2020-2023  润新知