一、问题背景

博主在2020春招中的Android开发岗位面试中,多次被考察到Android安卓4种启动模式的区别和应用场景,如美团的一面和斗鱼的笔试。

但是《Android第一行代码》和《Android艺术开发与探索》对此部分内容的描述少之又少,因此博主在网上搜集了相关的内容并作出了以下总结。

二、Android安卓4种启动模式的具体应用场景

Standard:非以下特殊场景的普通Activity。

SingleTop:APP接收到多条推送消息,点开不同消息,均由同一实例展示。singleTop适合接收推送通知的内容显示页面。例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。

SingleTask:应用APP的主界面(Fragment的containerActivity)。singleTask适合作为程序入口点。例如淘宝的主界面,在淘宝陆续打开商品搜索界面、商品详细界面、订单界面、付款成功界面后,在付款成功界面一键返回主界面。

SingleInstance:如APP经常调用的拨打电话、系统通讯录、系统Launcher、锁屏键、来电显示等系统应用。singleInstance适合需要与程序分离开的页面。例如闹铃提醒,将闹铃提醒与闹铃设置分离。singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。

本文参考文献:
[1]https://www.jianshu.com/p/4c8d6e2117ac
[2]https://blog.csdn.net/zivensonice/article/details/51569502
[3]https://blog.csdn.net/black_bird_cn/article/details/79764794
[4]https://blog.csdn.net/super_xiaojian/article/details/81014046
[5]https://www.jianshu.com/p/cdc3dbb3b235
[6]https://www.jianshu.com/p/2c782e2e4be3
[7]https://blog.csdn.net/javazejian/article/details/52071885
[8]https://blog.csdn.net/javazejian/article/details/52072131

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐