Activity四种启动模式的应用场景

Activity四种启动模式的应用场景

一、栈顶复用模式:
singleTop常用场景:(打开同类型的页面)
①某易云课堂APP,经常会收到多个通知,点开其中一个,开始播放视频,看完了点开第二个通知,会直接在原来界面上刷新第二个通知里的视频,
从而出现打开动作,这种对用户体验良好的界面播放形式就是采用了singleTop启动模式;
②某日头条新闻app,和通知相关的操作也是一样;
③便签/小说APP的设置界面,比如第一次设置好了字体大小,然后开始写作/阅读,觉得不行,字体还是太小了,第二次打开设置,去把字体改大。
这个时候设置界面的启动模式就是singleTop了,因为这个操作一般来说是不频繁的,就算没有实例也可以重新创建,用其他启动方式反而是不合适的。
singletop应用:避免多次创建,比如点击一个按钮启动一个activity,如果快速点击多次会导致反复启动,一种办法是在点击事件里过滤,另一个办法是设置目标activity是singletop

二、栈内复用模式:
SingleTask启动模式应用:
①浏览器首页Activity,整个任务栈只有一个实例,节约了内存;
②购物APP宝贝展示界面01,界面02确认订单,界面03付款,如果付款成功会自动跳到界面01,如果付款失败则返回界面02,这个时候重启01就是用的singleTask启动模式。
③使用多的Activity,比如首界面HomeActivity,假设用户在主页跳转到其他页面,运行多次操作后想返回到主页,假设不使用SingleTask模式,在点击返回的过程中会多次看到主页,这明显就是设计不合理了

三、单实例模式
SingleInstance
①手机拨号界面(QQ、短信这种涉及数字的都会用到手机拨号界面)
②社交APP分享页面(微信、QQ、知乎)
——作为外部App调用自己客户端程序的入口的Activity都会采用singleInstance启动模式
③第一次启动时一个activity让用户填资料,填完后转到主activity,此时按后退,不再退回前一个activity

你可能感兴趣的:(Activity四种启动模式的应用场景)