当前位置: 首页 > 操作系统 > 手机系统 > 正文

合理应用activity的启动方式优化程序内存

时间:2016-09-10 csdn博客 a910626

在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。

Activity启动方式有四种,分别是:

standard

singleTop

singleTask

singleInstance

可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题

起作用的场合就是我们每次startActivity时~~~

standard

每次通过这种模式来启动目标activity时,android总会为目标activity创建一个新的实例,并将该activity添加到当前task栈中——这种模式不会启动新的task,新的activity添加到原有的task中。

singleTop

这种模式与standard模式基本相似,但有一点不同,当将要被启动的目标activity已经位于task栈顶的时,系统不会重新创建目标activity的实例,而是直接使用已有的activity实例

singleTask

采用这种模式加载的activity在同一个task内只有一个实例,当系统采用singleTask模式启动目标activity时,可分为如下三种情况:

如果将要启动的目标activity不存在。系统会创建目标activity的实例,并将他加入task的栈顶。

如果将要启动的目标activity已经位于栈顶,与singletop情况类似。

如果将要启动的目标activity已经存在,但是不位于栈顶,则它之上的activity都出栈,从而是目标activity到达栈顶。

singleInstance

只有一个实例,单独在一个task中,自己对应一个回退栈。

感恩:

http://blog.csdn.net/shinay/article/details/7898492

http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html

http://www.cnblogs.com/meizixiong/archive/2013/07/03/3170591.html

URL:http://www.bianceng.cn/OS/extra/201609/50435.htm