1,Android中什么是Task和Back Stack
Task可以理解为一个进程,启动一个应用就回启动一个进程,系统会为该应用分配16MB的空间来共该应用使用。Back Stack是以堆栈的形式管理一个应用启动的所有的Activity,每启动一个Activity都会把新的Activity放到栈顶,若栈顶Activity销毁(通过onBackPressed或者finish)之后,栈顶Activity下方的Activity会重新显示,栈的机制就是后进先出(last in, fisrt out)。
当一个Task中所有Activity都销毁时,这个Task则销毁,这个应用则关闭(除非还有一个Task启动了此应用)。
对于Android系统来说,后台可以运行多个Task任务,多个Task也是以堆栈行的进行管理。
先列出如下疑问,后续会逐一解答:
<1>如何使一个应用的所有Activity只在一个Task中?
<2>当应用A调用应用B的时候,应用B会在应用A的Task中还是会在新建的一个Task中?
<3>Android系统会在Activity被stopped之后保存这个Activity的状态(如输入框中内容,勾选状态等),当这个Activity被resume的时候,会显示被stopped之前的数据,但是有一种特殊情况:Android系统内存不足时,