一、问题背景
博主在2020春招中的Android开发岗位面试中,多次被考察到Android安卓4种启动模式的区别和应用场景,如美团的一面和斗鱼的笔试。
而singleTop和singleTask启动模式都会调用onNewIntent()方法,但是《Android第一行代码》和《Android艺术开发与探索》对此部分内容的描述少之又少,因此博主在网上搜集了相关的内容并作出了以下总结。
singleTop中inNewIntent出现的情况
A为singleTop,此时A在前台任务栈的栈顶,A处于Resumed状态即A正显示在屏幕上并获得了焦点,并再启动A,则onPause->onNewIntent->onStop
A为singleTop,此时A在后台任务栈的栈顶,A处于Stopped状态即A在屏幕上完全不可见,并再启动A,则
A为singleTask,第一次启动时就会调用onNewIntent
A为singleTask,且处于栈顶
A为singleTask,且不处于栈顶
[1]关于onNewIntent你应该知道的
[2]singleTop模式应用场景 以及OnNewIntent
[3]Android Developer Reference android.app.Activity#onNewIntent
[4]Android基础知识(七):Activity互调之间的生命周期变化与onNewIntent()触发机制