软件工程日报4.8

任务:

Android实际上使用任务(task)来管理Activity,每一个任务就是一个返回栈(back stack)。任务是指在执行特定作业时与用户交互的一系列 Activity。 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈)中。
每当启动一个新的Activity的时候,这个新activty就会入栈。
一般情况下(也就是无任何其他因素影响的情况下),在点击手机的返回键的时候栈顶的Activity就会出栈,同时这个Activity也会被销毁。

运行状态
  运行状态(Running):当一个Activity处于栈顶的时候,就是处于运行状态了,对于Android系统而言,它不会愿意强制销毁这样的进程。

  暂停状态(Paused):当Activity不处于栈顶,但是仍然可见的时候,就是处于暂停状态了。对于Android系统而言,哪天内存非常吃紧的时候,它会强制回收处于暂停状态的Activity。
  这样子想理解可能特别痛苦,简单的举例:处于栈顶的Activity(也就是运行状态的activty)忽然间弹出了一个对话框(实际上并不是对话框,而是一个并不占满全屏的Activity),大家都清楚,对话框一般不会铺满整个屏幕,此时Activity仍然有部分可见,这个时候这个Activity就进入暂停状态了。

  停止状态(Stopped):当Activity不处于栈顶,且完全不可见的时候,就是处于停止状态了。停止状态下的Activity不会被回收,其中的变量和状态都会保存。对于Android系统而言,哪天内存有些吃紧的时候,它会强制回收处于停止状态的Activity。

  销毁状态(Killed):当Activity从返回栈中移除之后,就是处于销毁状态了。对于Android系统而言,它正在回收分配给这个Activity的内存。

posted @ 2024-05-07 17:27  /张根源/  阅读(3)  评论(0编辑  收藏  举报