首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
在activity的启动模式中,如果不允许其它activit
[单选题]
在activity的启动模式中,如果不允许其它activity存在于本task内应该使用以下哪种模式?
singleInstance
singleTask
singleTop
standard
查看答案及解析
添加笔记
求解答(9)
邀请回答
收藏(127)
分享
5个回答
添加回答
3
张大火火
只有A是独立一个栈的
发表于 2019-10-09 17:14:46
回复(0)
1
PiscesYE
BCD都允许
发表于 2019-08-30 08:39:48
回复(0)
13
哑巴湖大大大水怪
为什么选
singleInstance?
standard
是活动默认的启动模式,在不进行显式指定的情况下,所有活动都会自动使用这种启动模式。在
standard
模式(即默认情况)下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置。对于使用
standard
模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例。
singleTop
,在启动活动时如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,不会再创建新的活动实例。
singleTask
,每次启动该活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。
singleInstance
模式的活动会启用一个新的返回栈来管理这个活动。那么这样做有什么意义呢?想象以下场景,假设我们的程序中有一个活动是允许其他程序调用的,如果我们想实现其他程序和我们的程序可以共享这个活动的实例,应该如何实现呢?使用前面三种启动模式肯定是做不到的,因为每个应用程序都会有自己的返回栈,同一个活动在不同的返回栈中入栈时必然是创建了新的实例。而使用
singleInstance
模式就可以解决这个问题,在这种模式下会有一个单独的返回栈来管理这个活动,不管是哪个应用程序来访问这个活动,都共用的同一个返回栈,也就解决了共享活动实例的问题。
----------郭神《第一行代码》
发表于 2021-12-24 15:49:44
回复(0)
0
MADAO_LUV
A
发表于 2025-05-09 00:18:50
回复(0)
0
Leiha
略有歧义.
singleInstance是确保activity独享一个新栈.当前栈不受影响.
singleTask多用于(稍后)将当前栈的其他activity清掉.
如果是 存在于“本activity的xxxx"肯定选singleInstance.
"本task"就很难说了.
singleInstance是不影响之前那个task的.
发表于 2023-03-25 17:45:51
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
安卓工程师
爱奇艺
Android
2019
上传者:
小小
难度:
5条回答
127收藏
2010浏览
热门推荐
相关试题
android中如何处理耗时操作,...
腾讯
Android
评论
(10)
(Android开发选做)关于Ac...
美团
2013
Android
Java工程师
C++工程师
评论
(8)
来自
美团2013研发笔试卷
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(3)
来自
职能类模拟题14
在大语言模型中,什么是"Gated...
大模型开发
评论
(1)
关于大模型“上下文窗口”的理解,以...
大模型概念
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题