谷歌谷歌谷 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模式,所以系统会先检查是否已经有实例,
    发现有,然后就把实例之上的统统出栈,之保证出栈,没保证出栈要按照入栈的顺序

    评论

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗