Activity 学习笔记02-生命周期

Activity 简介

Activity类是Android应用的关键组件,而Activity的启动和组合方式则是该平台应用模型的基本组成部分。它是一种可以包含用户界面的组件
Android Activity 生命周期的状态和事件流程图如下:
在这里插入图片描述

Acvitity 生命周期的7个回调函数

一个Activity在其生命周期中会经历多种状态,您可以使用如下7个回调来处理状态之间的转换。具体说明如下:

  • onCreate()
    回调必须实现,它会在系统第一次创建您的Activity时触发。应该在此方法中完成Activity的初始化操作,比如加载布局、绑定事件。
    onCreate()完成后,下一个回调是onStart()
  • onStart()
    onCreate()退出后,Acvitity将进入“已启动”状态,并对用户可见。此回调包含Activity进入前台与用户进行互动之前的最后准备工作
  • onResume
    系统会在Activity开始与用户互动之前调用此回调。此时,该Activity位于Activity堆栈的顶部,并且处于活动状态,并会捕获所有用户输入。**应用的大部分核心功能都是在onResume()**方法中实现。onResume()与onPause()是相对应的
  • onPause
    当Activity失去焦点并进入“Paused”状态时,系统就会调用onPause()。例如,当用户点击【Back】或者【最近使用的应用】按钮时,就会出现此状态。当系统为您的Activity调用onPause()时,从技术上来说,这意味着您的Activity仍然部分可见,但大多数情况下,这表明用户正在离开该Activity。该Activity很快将进入“Stopped”或者“Resumed”状态
    如果用户希望界面继续更新,则处于“Stopped”状态的Activity也可以继续更新界面。
    注意:不应使用onPause来保存应用或者用户数据、进行网络呼叫或者执行数据库事务。
    onPause()执行完毕后,下一个回调为onStop()或者onResume(),具体取决于Activity进入“已暂停”状态后发生的情况
  • onStop
    当Activity 对用户不再可见时,系统会调用onStop()。出现这种情况的原因可能是Activity被销毁,新的Activity启动,或者现有的Activity正在进入“已恢复”状态并覆盖了已停止的Actiivty。在所有这些情况下,停止的Activity都将完全不再可见。
    系统调用的下一个回调将是onRestart()(如果Activity重新与用户互动)或者onDestory()(如果Activity彻底终止)。
  • onRestart()
    当处于“已停止”状态的Activity即将重启时,系统就会调用此回调。onRestart()就会从Activity停止时的状态恢复Activity。此回调的后面总是跟着onStart()。
  • onDestroy()
    系统会在销毁Activity之前调用此回调。此回调是Activity接收的最后一个回调。通常,实现onDestroy是为了确保销毁Activity或者包含该进程时释放该Activity的所有资源
    以上7个方法除了onRestart()方法,其他都是两两相对的,从而可以将Activity分为三个生命周期
  • 完整生存期。Activity在onCreate()和onDestroy()方法经历的生存期,一般情况下,Activity会在onCreate()方法中完成各种初始化操作,onDestroy()方法中完成释放内存的操作
  • 可见生存期。Activity在onStart()方法和onStop()方法之间所经历的就是可见生存期。Activity对于用户总是可见的,即便有可能无法和用户进行交互
  • 前台生存期。Activity在onResume()方法和onPause()方法经历的生存期,Activity总是处于运行状态,此时的Activity是可以和用户进行交互的。

实战

通过建立两个Activity,且将两个Activity的所有生命周期回调都加上打印。执行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值