这是该书第25页的一些描述,按照理论来说应该是像书上那样的。可是我在API24的手机和虚拟机上试了一下后,发现由ThirdActivity跳转到MainActivity再跳转到SecondActivity后,再按back键并没有退出到桌面,而是显示了一个MainActivity的活动页面。我一直百思不得其解。后来想到,可能是 因为现有的安卓系统相对于作者写书的时候有了一些变化,可能一个程序要想回到桌面,就必须跳出所有的任务栈吧。于是我对三个活动的onDestory方法都做了标记。
然后我再按作者的顺序依次跳转活动,最后提取的日志如下:
由此可见,最后一个跳出的MainActivity界面果然是默认任务栈里的。所以书上并没有错。只是可能由于系统优化的缘故吧。现在的安卓系统里要想退出的某个进程,好像要把这个进程里的所有任务栈都clear之后才能退出。当然,这是我的个人理解,如果有不对的地方,还望大家指正。
本文探讨了安卓应用中返回按键的行为,特别是在不同版本的安卓系统中返回机制的变化。通过实验验证了从一个活动返回到桌面的过程涉及到的任务栈清理机制。
359

被折叠的 条评论
为什么被折叠?



