Activity被创建多个实例的解决方法

最初我在写通知的时候对Android的启动模式不是很清晰导致每一次点击通知消息都会创建一次MainActivity,经过浏览帖子,对启动模式理解加深,得出解决办法。

在AndroidMainfestwen文件中注册Activity时将需要被跳转的Activity的启动模式设置为SingleTask即可


相关代码

我第一次将其设置为SingleInstance,也是可行的,但某些场景下多任务界面会有两个自己创建的应用,还会遇到无法启动Activity的bug,其原因在于SingleInstance是在单独的一个Task栈中,例如用户退出登陆时结束所有activity回到登陆界面,此时使用了SingleInstance的activity无法被结束,多任务界面会将其显示出来,点击后就会出现无法启动activity的bug。而SingleTask启动模式会一直使用一个Task栈,不会单独重新创建Task栈。

你可能感兴趣的:(Activity被创建多个实例的解决方法)