Android中Activity启动模式SingleTask时点击Home键问题

在开发过程中,有种情况,需要频繁跳转到某个Activity,如果启动模式为标准的话堆栈会存在多个Activity实例,需要按多次返回键才能推出程序,并且造成页面逻辑混乱,造成很差的用户体验。我们可以把Activity的启动模式设置成SingleTask,让堆栈中只有一个该Activity的实例。但是这样就出现了一个问题。

例如:两个Activity为A和B,A的启动模式为SingleTask,B的启动模式为Standart,当按一下流程操作:A–>B,点击Home键,在打开app,这时候B被销毁了,又回到了A界面,具体如下图所示:
Android中Activity启动模式SingleTask时点击Home键问题_第1张图片

解决方案:造成这种现象的原因是A activity作为了程序的入口
Android中Activity启动模式SingleTask时点击Home键问题_第2张图片
可以添加一个欢迎页作为程序入口,由欢迎页跳转到A,然后销毁欢迎页,这样就解决了问题。

具体原理是什么我还不太清楚,也希望高人留言指点迷津,谢谢!

你可能感兴趣的:(Android)