Activity的四种启动模式

来源:互联网 发布:docker golang 镜像 编辑:程序博客网 时间:2024/04/30 15:06

Activity 、Broadcast Receiver、 Content Provider、 Service是android四大组件。这里先理解一下四大组件之一Activity的启动模式

Activity具有的四种启动模式:standand  singletop   singletask  singleinstance

standard:是Activity默认的启动方式,当不做任何配置处理时执行默认的standard。执行原理,开启一个ActivityA后,再开启一个b...c。当用户一直点击后退按钮时,页面显示由c--b--a--桌面。这就是Activity的标准处理机制

singletop:当用户栈顶有要激活的Activity时,执行onNewIntent()复用该栈栈顶的Activity。例如:uc浏览器的书签应用

singletask:保证任务栈只有一个实例的Activity存在。浏览器是用webkit框架,二webkit很占资源,所以当你打开多个浏览器时不能new出多个webkit,singletask保证了一个browser的实例。当然不会恶意耗费资源。

singleinstance:当配置为singleinstance时,该任务会分配一个新任务栈。该模式确保了开启一个独立的任务栈。举个例子程序锁,当吧一个应用锁起来时,进入需要密码,此时是在一个新的任务栈中,所以密码输入后回进入该应用,而不会进入你来时的任务栈。这里有点绕,不知道大家能不能理解。你可以自己体验一下程序锁。(因为你自己开发的应用是mobilesafe,也就是你的任务栈是mobilesafe,所以当你进入一个被锁的应用时,任务栈可定不能再是mobilesafe了,要重开一个该应用的任务栈。)

原创粉丝点击