android启动模式singleInstance的疑惑

有3个activity:MainActivity为默认启动,A为singleTask,B为singleInstance

场景1:
a、启动activity
E/MainActivity onCreate: taskId:495
E/MainActivity onStart: taskId:495
E/MainActivity onResume: taskId:495
b、在MainActivity中点击按钮启动B
E/MainActivity onPause: taskId:495
E/B onCreate: taskId:496
E/B onStart: taskId:496
E/B onResume: taskId:496
E/MainActivity onStop: taskId:495
c、按下home键
E/B onPause: taskId:496
E/B onStop: taskId:496
d、点击icon重新回到app
E/MainActivity onStart: taskId:495
E/MainActivity onResume: taskId:495

why?
———————————-
刚才和同事讨论结果:通过icon启动app,默认都会到app所在默认栈中,显示栈中最上层的activity。
———————————-

场景2:
a、启动activity
E/MainActivity onCreate: taskId:495
E/MainActivity onStart: taskId:495
E/MainActivity onResume: taskId:495
b、在MainActivity中点击按钮启动B
E/MainActivity onPause: taskId:495
E/B onCreate: taskId:496
E/B onStart: taskId:496
E/B onResume: taskId:496
E/MainActivity onStop: taskId:495
c、按下home键
E/B onPause: taskId:496
E/B onStop: taskId:496
d、点击icon重新回到app
E/MainActivity onStart: taskId:495
E/MainActivity onResume: taskId:495
d、点击返回键
E/MainActivity onPause: taskId:495
E/MainActivity onStop: taskId:495
E/MainActivity onDestroy: taskId:495
程序退出了!!!

why?为什么d步骤没有回到B页面?那么此时B activity还在后台?
———————————-
求解…
———————————-

场景3:
a、启动activity
E/MainActivity onCreate: taskId:495
E/MainActivity onStart: taskId:495
E/MainActivity onResume: taskId:495
b、在MainActivity中点击按钮启动A,启动B
E/MainActivity onPause: taskId:495
E/B onCreate: taskId:496
E/B onStart: taskId:496
E/B onResume: taskId:496
E/MainActivity onStop: taskId:495
c、按下返回键
E/B onPause: taskId:496
E/A onCreate: taskId:495
E/A onStart: taskId:495
E/A onResume: taskId:495
E/B onStop: taskId:496
E/B onDestroy: taskId:496

why?为什么b步骤先后启动A、B只启动了B页面,c步骤却启动了A页面?
———————————-
求解…
———————————-

你可能感兴趣的:(android,启动模式)