谷歌谷歌谷 2015-07-14 09:42 采纳率: 0%
浏览 3512

android中Activity的singletask模式弹出栈的问题

07-14 17:48:53.218: E/First(8272): onDestroy
07-14 17:48:53.226: E/Second(8272): onDestroy
07-14 17:48:53.226: E/Third(8272): onPause
07-14 17:48:53.250: E/MAIN(8272): onRestart
07-14 17:48:53.250: E/MAIN(8272): onStart
07-14 17:48:53.250: E/MAIN(8272): onResume
07-14 17:48:53.335: E/Third(8272): onStop
07-14 17:48:53.335: E/Third(8272): onDestroy

Main是singletask启动模式
顺序是Main->First->Second->Third->Main

再次启动Main把上面的activity全部弹出,按照栈先进后出的结构,不是应该从Third开始到First,怎么是反过来的。

  • 写回答

2条回答 默认 最新

  • Arnold9009 2015-07-14 10:06
    关注

    按back键的话,肯定是按照入栈顺序出栈
    但是你现在是相当于启动一个新的activity,但是由于activity是singletask模式,所以系统会先检查是否已经有实例,
    发现有,然后就把实例之上的统统出栈,之保证出栈,没保证出栈要按照入栈的顺序

    评论

报告相同问题?

悬赏问题

  • ¥20 蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏