首先说一下 出于性能优化的角度 要尽量少用Activity,甚至只用1个,界面用碎片来承载,这样便于内存以及业务逻辑的管理
single instance
适合整个安卓系统只有这样一个活动的情形,比如launcher,所以一般用不到
single task
适合你的app中只有这样一个活动的情形,比如主界面,比如登录界面
还有就是你打开了一系列的东西,希望回滚到之前那个页面,用single task,会自动clear top
single top
是standard模式的修正。常用于当你期望打开一个页面和你之前的页面是同类型的时候。举个例子,QQ聊天,你跟A在聊天,这个时候,你把QQ放在后台了。然后,B找到聊天了,推送了通知,你点了通知,难道要在和A的聊天界面上新建一个聊天界面吗?肯定不是,是同一个界面,只不过回调了onNewIntent,修改了数据而已。