应该在主线程上执行startActivity?

时间:2016-09-26 19:41:53

标签: android multithreading android-layout

需要从一个活动转换到另一个活动。需要{$block}在主线程上执行它可以是一个工作线程吗?我会选择主线程概念,因为有GUI相关的操作。你觉得怎么样?

3 个答案:

答案 0 :(得分:1)

之前的答案显示,startActivity方法本身可确保相关操作在主线程上运行,因此在您调用它的位置实际上并不重要:Is it safe to launch and activity from a non-ui thread?

答案 1 :(得分:0)

如果我没错... startActivity()在UI线程内部执行,所以没有讨论:)

答案 2 :(得分:0)

是的,它应该。基本上,“where”,在Context的意义上,你的新活动应放在其堆栈中或低于/高于其他活动。

From documentation:

  

启动新活动。您不会收到有关活动何时退出的任何信息。

     

请注意,如果从Activity Context的外部调用此方法,则Intent必须包含FLAG_ACTIVITY_NEW_TASK启动标志。这是因为,在没有从现有活动启动的情况下,不存在放置新活动的现有任务,因此需要将其放置在其自己的单独任务中。