您的位置:首页 > 职场人生

Android中的Activity四种启动模式(launchMode)(面试必问)

2016-04-10 19:18 483 查看
android:launchMode

standard

默认标准的启动模式,每次startActivity(Intent intent)请求都创建一个新的activity实 例,适用于大多数场景。

singleTop

单一顶部,如果要启动的activity在任务栈的顶部已经存在,不会创建新的实例,而是调用 onNewIntent(Intent intent)方法。比如:浏览器书签,避免顶部的activity重复创建,解 决用户体验问题。

singleTask

单一任务,activity只会在任务栈里面存在一个实例,如果要激活的activity在任务栈中已 经存在,就不会创建新的activity实例,而是复用这个已经存在的activity,调用 onNewIntent(Intent intent)方法,并且清空当前activity任务栈上面所有的activity。 比如:浏览器activity,整个任务栈里面只有一个实例,节约内存和CPU。 activity还是运行在当前应用程序的任务栈里面,不会创建新的任务栈。

singleInstance 单例模式

单一实例,整个Android系统只有一个实例存在,不同的应用打开这个activity共享公共的同 一个actiivty,它单独运行在一个独立的任务栈里面,任务栈里面只有它一个实例存在。

比如:呼叫来电界面InCallScreen

两种实现方式
1.在manifest文件里面添加
<activity android:name=".AActivity"  android:launchMode="singleTop">
2.在intent里面设置标签
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);


本文摘抄子我的老师的笔记.....加以修改

(曹老师)曹伟github网址:https://github.com/caoweic
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  标准