android singTask 不走oncreat 走onNe

作者: 蔡振辉 | 来源:发表于2019-04-01 14:58 被阅读17次

Activity的SingleTask启动模式:

以"singleTask"方式启动的Activity,全局只有唯一个实例存在,因此,当我们第一次启动这个Activity时,系统便会创建一个新的任务,并且初始化一个这样的Activity的实例,放在新任务的底部,如果下次再启动这个Activity时,系统发现已经存在这样的Activity实例,就会调用这个Activity实例的onNewIntent成员函数,从而把它激活起来。从这句话就可以推断出,以"singleTask"方式启动的Activity总是属于一个任务的根Activity。

在实际的使用过程中,需要注意SingleTask的启动模式,从字面与解释理解上面就已经说明,是从新开始一个任务站,那么该任务栈与一之前的Activity的任务栈就不会存在多大的关联,今天在书写代码的时候,遇到以下问题,分享以下。

在ActivityA中,startActivityForResult到ActivityB,其中ActivityB设置为SingleTask。

那么在实际出现的现象为:

ActivityA的onActivityResult将会首先被回调,然后再执行ActivityB的onCreate函数,也就说无论ActivityB返回什么内容,在ActivityA中都不会被接收到。

所以在使用SingleTask的方法不要随便使用。

另外onNewIntent()就是针对SingleTask使用的回调,当执行调用多个Activity对象的时候,会回调onNewIntent对象。

相关文章

  • android singTask 不走oncreat 走onNe

    Activity的SingleTask启动模式: 以"singleTask"方式启动的Activity,全局只有唯...

  • 记录修改系统字体/系统主题导致页面重新走一遍生命周期

    关键在于 fontScale 这也确保页面不走oncreat()方法如果出现页面崩溃 需要 onSaveInsta...

  • 2019-07-12

    什么情况下Activity走了onCreat(),而不走onStart()。在oncreate里面调用ondest...

  • Android面试题

    1.onStart(),与onResume()有什么区别?什么情况下Activity走了onCreat(),而不走...

  • app退到后台 程序没有退出

    【原因】 可能Acticty 模式 设置为 android:launchMode="singTask" 去掉即可...

  • 走不走

    走不走 婉言一句了解,昨日风流水,几丝潺絮花满卉 总是借月,残过头,没有忘忧凄黑瘦, 走不走,何时醉于楼 走不走,...

  • 走不走

    你走了 也好 不然 我总是担心你走

  • 走不走

    我走不走 眼前好像也没有很多道路 可是心里仿徨

  • 走?不走

    一整天都徘徊在是否离职的边缘,刚做了2个月,感觉离职又好不负责。今天和舍长打电话,她第一句就问感觉你做了这个工作之...

  • 走不走

    走了那么远 路不见了 我在低头 并没有看到 前进是后退 不死不休

网友评论

    本文标题:android singTask 不走oncreat 走onNe

    本文链接:https://www.haomeiwen.com/subject/qnsvbqtx.html