Activtiy的四种加载模式

文章出处:http://www.eoeandroid.com/blog-646109-2743.html


在activity的配置文件中提供了四种activity的加载模式:
android:launchMode="standard"/"singleTop"/"singleTask"/"singleInstanse"

我们在设计应用程序的时候首先要把activity之间的跳转关系确定好,以及它什么时间该pause,stop,destroy都要进行严格的控制,而以前不知道activity的加载模式的时候老是打开了很多activity,然后在点击返回的时候同一activity出现很多次才回到主页面,现在总结一下activity四种加载模式

首先如果我们不写默认的是standard,它表示如果需要就创建,这也就是当初不知道写这个属性的时候打开了很多activity的缘故

singleTop只针对栈中最上面的activity设置单例,意思就是说如果A在栈的最上面,如果你把A的加载模式设成singleTop,则你再启动一个A的时候不是重新启一个,点击返回就可以看出效果,而如果设置为standard,就会再重新开启一个A,在你点击返回的时候发现还有一个A,但是如果A不在栈的最上面,则你要是再打开一个A的话,还是会重新创建一个A

下面就说到了singleTask,它表示在这个运行栈中此activity只能有一个,上面说到如果把A设置成singleTop,如果A不在栈最上层,就重新创建A,但是如果你把A设成singleTask,则会清除A上面所有的activity,把A调到栈顶,因为在此栈中A只能有一个,栈又是后进先出的机制,你不可能把A直接从里面给拉出来,所以就必须先要把A上面的activity清除掉

最后说一下singleInstance,如果把activity的加载模式设成了singleInstance,则表示为此activity单开一个任务栈,单开的这个任务栈中只有此activity


android:android:noHistory="true"表示不把当前此activity压入栈,只是显示当前activity,如果它跳转到其他activity,再点击返回的时候将看不到设置成nohistory的的activity


android:theme="@+android:style/Theme.Dialog"表示对此activity的风格进行设置,当前的activity就是被设置成了dialog的样式

 

转载地址:http://lowry.iteye.com/blog/793219


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值