Android开发之Activity详解

2019-12-10 17:54:56王旭

【Managing the Activity Lifecycle】

  管理你的activity的生命周期通过实现回调函数非常关键对开发一个健壮和有弹性的应用程序。一个activity的生命周期直接被与其相关联的其它activity影响,task和bask stack。

  一个activity可以存在于主要的三种状态:

  1、Resumed

    activity在前景并且拥有用户焦点。(这个状态有时也叫”running“)

  2、Paused

    另一个activity在前景并且拥有用户焦点,但这个仍然可见。也就是说,另一个activity可见在这个的上面,当前activity部分透明或没有覆盖整个屏幕。一个paused activity完全活着(the Activity对象维在内存中,它维护所有的状态并且记忆信息,仍然连接着窗口管理器),但是可以被系统杀死在极端需要内存的情形下。

  3、Stopped

    一个activity被另一个activity完全阻挡(activity现在在后台)。一个stopped activity仍然活着(Activity object维持在内存中,它维扩所有的状态和成员信息,但没有绑定窗口管理器)。可是,它不再被用户可见并且它可被系统销毁在需要的地方。
  如果一个activity paused或者stopped,系统可以从内存中抛弃它通过要求它结束(调用它的finish()方法),或者简单的杀掉它的进程。当activity再次被打开(在被finished或杀死后),它重新建立所有的东西。

【Implementing the lifecycle callbacks】

  当一个activity转换到或转换出上面提到的状态,它被通过各种不同的回调函数通知。所有这些回调函数都是hook,你可以覆盖来做合适的工作当你的activity状态变化。下面的activity骨架包含每一个基本的生命周期函数:

Android开发,Activity

  注意:你的这些生命周期函数的实现必须调用父类的实现在你做自己的工作之前,就像上面显示的一样。

  放在一起,这些函数定义了整个生命周期关于一个activity。通过实现这些方法,你可以监视三种嵌套的循环在activity生命周期中。