活动作为Android四大组件之一,扮演着重要的角色。可以说,你所看到的都是以活动的形式呈现出来的。
活动的用法:
1.创建活动 2.注册活动 3.加载活动的布局
活动状态:
1.运行状态:活动处于栈顶时便处于运行状态。系统不愿回收运行状态中的活动,因为会带来非常差的用户体验。
2.暂停状态:活动不再处于栈顶,但活动此时并不是完全不可见。处于暂停状态中的活动,系统一般也不会去回收,因为会带来很差的用户体验,只有在内存极低的情况下,系统才会去回收。
3.停止状态:此时的活动处于完全不可见状态。此时系统仍然会为这个活动保存相应的成员变量和状态,但这并不是完全可靠的,当别的地方需要内存时,系统会对其进行回收。
4.销毁状态:当活动从返回栈中移除,它便变成了销毁状态。处于销毁状态的活动是系统最愿意回收的。
活动的生存期:
Activity类中定义了7个回调方法:
1.onCreate() 在活动被第一次创建的时候调用,在这个方法中完成活动的初始化操作,比如加载布局、绑定事件等。
2.onStart() 在活动由不可见变为可见的时候调用。
3.onResume() 在活动准备与用户交互时进行,此时活动处于栈顶并且处于运行状态。
4.onPause() 在系统准备去启动或者回复另一个活动时调用。通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据。但这个方法的执行一定要迅速,不然会影响到新的栈顶活动的使用。
5.onStop() 在活动处于完全不可见时调用。如果启动的新活动是对话框式的活动那么onStop()方法不会执行,只会执行onPause()方法。
6.onDestory()在活动即将被销毁之前调用,在这之后活动的状态将会变成销毁状态。
7.onRestart()在活动由停止状态变为运行状态时调用,即活动重新启动。
完整生存期:
onCreate()与onDstory()之间经历的为完整生存期。
可见生存期:
onStart()与onStop()之间。
前台生存期:
onResume()与onPause()之间。
活动的启动模式:
1.standard:
standard是系统默认的一种启动模式。在standard模式下,每当启动一个活动,它都会在返回栈中入栈,并处于栈顶的位置。对使用standard模式的活动,系统不会在乎这个活动是否存在于返回栈中,每次启动都会重新在返回栈中创建一个活动。
2.singleTop:
在singleTop模式中,如活动处于栈顶,则在启动活动时不会重新创建活动,而是直接使用它。若在返回栈中存在该活动,却未处于栈顶时,启动活动时仍会创建新的活动。
3.singleTask:
使用singleTask模式可以解决重复栈顶活动创建的问题,每次启动活动时,会查看返回栈中是否存在该活动的实例,若存在则直接调用该实例,不存在则创建该活动。
4.singInstance:
singInstance模式比较特殊,指定为singInstance模式的活动会重新启用一个返回栈来管理该活动。可以解决活动共享问题。
方法:android:launchMode=”xxxx” xxxx为模式名称。