//当activity被创建出来的时候,系统就分给他一个任务栈,task stack.用于存放activity.
//任务栈是用来描述activity当前的状态. 内部实现是一个链表.后进先出.
//复杂的任务栈. 假设任务栈有browserActiviity. webkit. 避免出现太多的activity.
//节约内存,提高效率.
launch modes
//"standard" (the default mode)
//"singleTop" 如果任务栈的栈顶元素,是要被激活的组件,不会创建新的activity.而是复用栈顶的activity.
只会判断栈顶的组件. 例如;添加书签.
//"singleTask"
//有一部分类似"singleTop"如果任务栈的栈顶元素,是要被激活的组件,不会创建新的activity.而是复用栈顶的activity
//但是还有一个更重要的是如果要打开一个已经存在的activity.就会把他上面的activity清空.
//浏览器 webkit c++浏览器内核
//"singleInstance"
//开启一个新的任务栈.将要激活的activity放置在新的任务栈里面,这个任务栈里面只有一个实例.
//实际上是引用,如果有新的activity创建的时候,
//就会创建一个引用指向 新的任务栈里面的组件.销毁一个,所有的引用都被销毁.
<activity
android:label="demo1Activity"
android:launchMode="singleInstance"
android:name=".Demo1Activity" >
activity的任务栈
最新推荐文章于 2021-03-31 14:22:13 发布