上一节讲生命周期,这一节讲\”Activity 是怎么被放进栈里的\”。启动模式是 Android 框架层里最容易出玄学 bug 的一块——因为它的行为由\”系统、任务栈、launchMode、Intent flags 四者共同决定\”,只讲 launchMode 的四个枚举值,等于只讲了四分之一。标题说\”你要答账\”,指的就是把这四层都算进去。
先把结论放在前面:launchMode 有 standard(默认)、singleTop、singleTask、singleInstance(已废弃,不该再用)。但真正决定行为的是\”任务栈怎么组织\”,所以真正要掌握的是四种任务栈(standard、singleTop、singleTask、singleInstance)与 Intent flags(FLAG_ACTIVITY_NEW_TASK、CLEAR_TOP、REORDER_TO_FRONT、SINGLE_TOP 等)。判据一句话:launchMode 是\”类级别的默认策略\”,Intent flags 是\”这次调用的具体意图\”,后者优先级更高。
网硕互联帮助中心




评论前必须登录!
注册