持续创作,加速成长!这是我参与「掘金日新计划 · 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。