Android ch05 Activity
Activity 工作相关原理图:
Activity 的生命周期:
要学好活动(Activity),就必须要了解android中Activity的声明周期,灵活的使用生命周期,可以开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈。栈的特性是后进先出,在默认的情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置。系统总是会显示处于栈顶的活动给用户。
1.活动的四种状态:
运行状态:当一个活动位于返回栈的栈顶时,这是活动就处于运行状态。系统不会回收处于运行状态的活动。
暂停状态:当一个活动不再处于栈顶位置,但仍然可见时,这时活动就进入了暂停状态。
停止状态:当一个活动不在处于栈顶位置,并且完全不可见的时候,就进入了停止状态
销毁状态:当一个活动从返回栈中移除后就变成了销毁状态。
2.活动的生命周期,活动中定义了7个回调方法
onCreate方法在活动第一次被创建的时候调用,在这个方法中,应该完成活动的初始话操作,比如加载布局,绑定事件等。
onStart方法在活动由不可见变为可见的时候调用
onResume在活动准备好和用户进行交互的时候调用,此时活动处于返回栈的栈顶。
onPause方法在系统准备去启动或者恢复另一个活动的时候调用。通常会在这个方法中将一些销毁cpu的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响新的栈顶活动的使用。
onStop这个方法在活动完全不可见的时候调用。它和onPause方法的主要区别在于,如果启动的新活动是一个对话框式的活动,那么onPause方法会得到执行,而onStop方法并不会执行。
onDestory方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
onRestart方法在活动由停止状态变为运行状态之前调用,也就是活动的重启了。
3.活动的3个周期
完整生命周期:活动在onCreate方法和onDestroy方法之间所经历的,就是完整生存周期。一般情况下一个活动会在onCreate方法中完成各种初始话操作,而在onDestory方法中完成释放操作。
可见生存周期:活动在onStart方法和onStop方法之间所经历的,就是可见生存周期。在可见生存周期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。我们可以通过这两个方法,合理的管理那些对用户可见的资源。比如在onStart方法中对资源进行加载,而在onStop方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多的内存。
前台生存期:活动在onResume方法和onPause方法之间所经历的,就是前台生存期。在前台生存期内,活动总是处于运行状态,此时活动是可以和用户进行交互的。