Android 组件Activity(一)之周期与启动模式

Android 组件Activity(一)


Activity

活动(Activity),是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序包含零个(很少见)或多个活动。
Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:指明的动作和组件间传递的数据。
setContentView() 方法是用来给当前活动加载一个布局。项目中添加任何资源,都会在R文件中生成相应资源的id。


Activity是Andriod中四大组件之一,需要把这组成应用程序的组件注册到AndroidManifest.xml文件中并声明它们特性和要求,这样才能生效。

Activity活动的生命周期

熟悉活动周期能够设计出流畅的应用程序,Android是利用任务Task来管理活动,一个任务就是放入到栈中活动的集合。启动一个活动就入栈且放入栈顶的位置,用finish() 撤销一个活动就出栈。
Activity生命周期图

活动状态:
- 运行状态:这时该活动位于返回栈栈顶。
- 暂停状态:活动不位于栈顶,但仍可见(如某活动前弹出小的对话框,后面活动仍可见。
- 停止状态:该活动不再处于栈顶位置,并且完全不可见。
- 销毁状态:从返回栈中移除活动。

活动的生存周期的七个回调方法

Activity类中七个回调方法:
- onCreate(),活动第一次创建时调用,我们经常重写这方法。
- onStart(),活动由可见变为可见时调用。
- onResume(),在活动准备好和用户交互的时候调用,此时活动一定处在栈顶。
- onPause(),系统准备去启动或恢复另一个活动的调用,可以将消耗CPU资源释放掉,保存一些关键数据。
- onStop(),活动完全不可见的时候调用。
- onDestroy(),活动销毁时调用。
- onRestart(),活动有停止状态变为运行状态前调用。
Activity 活动按着上图中每个转换的状态过程执行,不会照上图线路跳跃式的转换这几种状态。

活动的生存期:
- 完整生存期,在onCreate()和onDestroy()之间,从创建到从内存中释放掉。
- 可见生存期,在onStart()和onStop()之间,活动对用户总是可见,即使无法和用户进行交互。
- 前台生存期,在onResume()和onPause()之间,活动总是运行状态可以与用户交互。

活动的启动模式

活动的启动模式有四种:standard、singleTop、singleTask、singleInstance。
启动模式设定是在注册到AndroidManifest.xml组建活动的特性中写入android:launchMode=” “代码。
1. standard
每次启动活动A,就在返回栈的栈顶入栈一个新创建的活动A。
2. singleTop
再次启动活动A时,若活动已存在于栈顶,就直接启动,若没有在栈顶没有活动A,就新创建一个活动A实例入栈。
3. singleTask
和上一个一样解决活动的重复创建,这是个当启动活动A时,查看返回栈中是否已存在活动A,不存在就新创建一个,已存在则将活动A之前的活动实例全部出栈,将这活动A置于栈顶。
4. singleInstance
当启动一个具有singleInstance模式的活动A,会将活动A放入另一个新的返回栈,解决活动实例共享的问题。

发布了30 篇原创文章 · 获赞 5 · 访问量 7684

猜你喜欢

转载自blog.csdn.net/c0586/article/details/55277179
今日推荐