SingleInstance 单实例模式 具有此模式的Activity仅仅能单独位于一个任务栈中。 适用于缓存页面,比如有些播放视频或者音频的页面,你想要按返回键时继续播放,想通过全局悬浮窗随时打开,想打开时又不总是新建页面.
Launch、锁屏键的应用等等,整个系统中仅仅有一个.很实用。
singleInstance适合需要与程序分离开的页面。例如闹铃提醒,将闹铃提醒与闹铃设置分离。singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。
singleTask和singleTop都有点像在当前页面跳转的意思,就是你点击一个链接并非打开一个新窗口或者打开一个新的标签页,而是直接在当前页面刷新数据了,但是这两者又有一些不同,不同之处主要在于重复打开同一个页面所带来的影响。
singleTop 当有新的启动请求时,只有在目标Activity处于当前栈顶时,才会调用onNewIntent()而不创建新实例。如果不在栈顶,Android同样会重新创建该Activity实例,不走onNewIntent
singleTop适合接收通知启动的内容显示页面。例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。
从外界可能多次跳转到一个界面.
singleTask 当有新的启动请求时,目标Activity不处于当前栈顶时,结束其上面的,它放到栈顶(增加这个动作)才会调用onNewIntent()而不创建新实例。
Android中的activity栈采用层级式显示,旧的页面在下层&#