学习本章你将了解:
Activity的生命周期与工作模式
Activity调用栈管理
8.1、Activity
系统采用activity栈的方式管理activity
8.1.2、Activity的形态
1、active/running :栈的最顶层,并与用户交互
2、paused : 被覆盖,失去了与用户交互的能力,状态、成员变量都保持着,内存不够时,会回收
3、stoped : 完全覆盖,状态、成员变量都保持着
4、killed : 回收或者从未被创建
用户的不同动作,activity会在这4种状态中切换,开发者可以控制生,但是不能控制死
8.1.3、生命周期
activity的周期状态中只有3个是稳定的,其他都是过渡状态
resumed : 也就是之前的active/running状态,处理交互
paused : 一部分被挡住,不接收用户输入
stopped : 完全覆盖,不可见,后台运行
1、启动与销毁的过程
onCreate——onStart——onResume——停在Resume状态,完成启动——调用onDestroy结束生命周期回到killed状态
onCreate :初始化UI
onPause和onStop: 清楚activity资源避免浪费
onDestroy : 线程不会在销毁的时候销毁,所以清楚开启的线程
2、暂停与恢复的过程
当activiy被遮挡,就会调用onPause方法,当结束阻塞后,就会调用onresume恢复
onPause : 释放系统资源,如:Camera,sensor,receivers
onResume : 需要重新初始化在onPause中释放的资源
3、停止与重新创建过程