activity和singletask(task和activity有什么区别)

技术Activity的singleTask有什么作用本篇内容主要讲解“Activity的singleTask有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Activ

本篇内容主要讲解"活动的单线询问有什么作用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"活动的单线询问有什么作用"吧!

这个函数无非就是根据即将要启动的子活动的任务相似性属性值在系统中查找这样的一个任务:任务的吸引力属性值与即将要启动的活动的任务相似性属性值一致。

如果存在,就返回这个工作堆栈顶端的活动回去。

在上面的AndroidManifest.xml文件中,没有配置主要活动和子活动的任务相似性属性,于是它们的任务相似性属性值就默认为父标签应用的任务相似性属性值,这里,标签应用的任务相似性也没有配置,于是它们就默认为包名,即害羞。lo。任务。

由于在启动子活动之前,主要活动已经启动,主要活动启动的时候,会在一个新的任务里面启动,而这个新的任务的吸引力属性就等于它的***个活动的任务相似性属性值。

于是,这个函数会动回表示主要活动的练习记录回去。

回到前面的startactivityyunccheckdlocked函数中,这里的taskTop就表示主要活动,它不为null,于是继续往前执行。由于条件r.launchMode==ActivityInfo .发射单任务成立,于是执行下面语句:

[Java]viewplancopytactivityrecordtop=performcleartaskslocked(ktop。任务。taskid,r,launchFlags,true);函数performcleartaskslocked也是定义在框架/基础/服务/Java/com/Android/server/am/activity stack。Java 语言(一种计算机语言,尤用于创建网站)文件中:

[Java]ViewPlainCopyPublicClassactivityStack {./* * * Performclearoperationasrequestedby * { @ LinkIn # FLAG _ ACTIVITY _ CLEAR _ TOP } :搜索前端opotofthe * stack togethegiventask,然后寻找*一个stanceofthattactivityinstatack,如果找到,完成大厅*活动,然后转到实例.* * @ paramnewardescriptionofthenewactivitybeinate .* @

p; */     private final ActivityRecord performClearTaskLocked(int taskId,     ActivityRecord newR, int launchFlags, boolean doClear) {     int i = mHistory.size();     // First find the requested task.     while (i > 0) {     i--;     ActivityRecord r = (ActivityRecord)mHistory.get(i);     if (r.task.taskId == taskId) {     i++;     break;     }     }     // Now clear it.     while (i > 0) {     i--;     ActivityRecord r = (ActivityRecord)mHistory.get(i);     if (r.finishing) {     continue;     }     if (r.task.taskId != taskId) {     return null;     }     if (r.realActivity.equals(newR.realActivity)) {     // Here it is! Now finish everything in front...     ActivityRecord ret = r;     if (doClear) {     while (i < (mHistory.size()-1)) {     i++;     r = (ActivityRecord)mHistory.get(i);     if (r.finishing) {     continue;     }     if (finishActivityLocked(r, i, Activity.RESULT_CANCELED,     null, "clear")) {     i--;     }     }     }     // Finally, if this is a normal launch mode (that is, not     // expecting onNewIntent()), then we will finish the current     // instance of the activity so a new fresh one can be started.     if (ret.launchMode == ActivityInfo.LAUNCH_MULTIPLE     && (launchFlags&Intent.FLAG_ACTIVITY_SINGLE_TOP) == 0) {     if (!ret.finishing) {     int index = indexOfTokenLocked(ret);     if (index >= 0) {     finishActivityLocked(ret, index, Activity.RESULT_CANCELED,     null, "clear");     }     return null;     }     }     return ret;     }     }     return null;     }     ......     }

到此,相信大家对“Activity的singleTask有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151649.html

(0)

相关推荐

  • 怎么让APP永不崩溃

    技术怎么让APP永不崩溃本篇内容介绍了“怎么让APP永不崩溃”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!让我的APP永

    攻略 2021年10月21日
  • 如何理解MyBaitis的源码

    技术如何理解MyBaitis的源码如何理解MyBaitis的源码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Mybatis 架构怎么看源码下载源码 (

    攻略 2021年10月21日
  • 生信pheatmap绘制热图(pheatmap作图前数据)

    技术Pheatmap怎样绘制热图Pheatmap怎样绘制热图,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。随机生成,10个基因,每个基因4个处理,每个处理3

    攻略 2021年12月20日
  • 小2寸照片尺寸是多少,二寸登记照片的尺寸是多少

    技术小2寸照片尺寸是多少,二寸登记照片的尺寸是多少二寸照片尺寸是小2寸照片尺寸是多少:3.5*5.3cm。 其他照片尺寸: 1、小2寸(护照)照片尺寸是: 3.3*4.8cm 390*567像素。 2、小2寸 (普通)照

    生活 2021年10月20日
  • javascript中prototype方法有什么用

    技术javascript中prototype方法有什么用这篇文章主要为大家展示了“javascript中prototype方法有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习

    攻略 2021年11月15日
  • Python中选择结构是怎么样的

    技术Python中选择结构是怎么样的这篇文章主要介绍了Python中选择结构是怎么样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、选择结构通过判断条

    攻略 2021年10月31日