Activity 学习笔记02-生命周期
Posted 双木青橙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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停止时的状态恢复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是可以和用户进行交互的。
实战
代码请同步到gitlab中
学习参考材料
- android- developers Activity
- 第一行代码-Android (第三版)
以上是关于Activity 学习笔记02-生命周期的主要内容,如果未能解决你的问题,请参考以下文章