1

有人告诉我,从应用程序上下文启动活动是个坏主意,您应该尽可能使用活动上下文。

    Intent intent = new Intent(appContext, MyActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    appContext.startActivity(intent);

因此,我阅读了有关任务的 Google 文章:Tasks and Back Stack
它表示每个堆栈都有它的taskAffinity id,如果新活动将与属于已经运行的任务的taskAffinity id 一起午餐,那么它将被放置在该任务中(如果午餐模式是默认模式或单顶模式)。

因此,如果您没有为您的活动声明taskAffinity id,那么您是从应用程序上下文还是活动上下文午餐您的活动都没有关系。

但是再一次,我被告知使用应用程序上下文启动新活动是一种不好的做法。所以请告诉我,为什么会这样?我是否遗漏了需要注意的重要案例?

4

0 回答 0