安卓四大组件之Activity

190 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

安卓开发

安卓四大组件之Activity

生命周期

onCreate() -> onStart() -> onResume() -> onPause() -> onStop -> onDestory()

讲解: Activity的创建会执行上述过程:

onCreate():

会解析对应的layout的XML文件,解析识别成视图树的形式

Resume():

处于运行状态会在屏幕上显示对应的视图,呈现为用户可见可交互的状态

onPause():

处于暂停状态,该状态处于可见但是不能和用户交互,一般是上层存在透明的Activity(实现透明的Activity可以通过设置Theme的style进行实现)出现在上层,此时可以看见Activity内容但是和用户交互的是上层Activity。

onStop():

此时Activity处于停止状态已经不可交互不可见但是所携带的变量值仍然保存。

onDestory():

销毁状态Activity的实例被销毁(执行finish())时调用。实例被销毁,所包含的数据也会不见。

启动模式

Activity的启动模式分为四种:分别是Standard/SingleTop/SingTask/SingleInstance

在Manifest清单文件中进行声明: launchModel="xxxx"进行实现

其中:

Standard:

为默认启动模式,如果没有标明启动模式会使用此种模式。该模式的Activity在创建时会生成新的实例,并且将该实例放在栈顶。

SingTop:

如果需要启动该种Activity将会观察栈顶的Activity是不是该Activity,如果是将会直接使用栈顶的Activity,而不会生成新的实例。

SingleTask:

在启动该种Acitivity时会检查全栈种是否已经有该种Acitivty,如果有的话会将该实例之上的Activity进行出栈处理(即:销毁)。

Single Instance:

为该种Activity启用一个新的返回栈进行管理,(如果SingleTask指定了taskAffinity,也会启动一个新的栈),其他应用也可以通过访问这个栈中的Activity。