同步和异步活动

时间:2012-01-06 18:05:06

标签: android asynchronous android-activity synchronous

有人可以帮我理解Android中的同步异步活动吗?

Android中的同步和异步活动究竟意味着什么?

StartActivityStartSubActivityStartAcivityForResult同步或异步启动活动,或者它们是否可以同时运行?

请解释,因为我已经阅读了很多文章,但未找到任何适当的解释。

1 个答案:

答案 0 :(得分:17)

首先,Android上一次只能运行一个活动,因此您永远不会同时运行两个活动。当您想要“发射并忘记”时,请使用startActivity(),也就是说,您希望启动一项活动,但不希望它为您的活动返回值。在这种情况下,新活动将开始,您的活动将暂停;一旦用户返回您的活动,您最终可能会重新获得控制权。

当您从正在启动的活动中取消结果时,请使用startActivityForResult()。在这种情况下,调用活动应该覆盖onActivityResult(),当启动的活动退出并且返回给您(它使用setResult()设置的结果)时将调用该{{1}}。

在这两种情况下,由于调用活动和被调用活动属于同一个任务,因此它在某种意义上是“同步的”(尽管我认为使用术语“同步”和“异步”在这种情况下可能会令人困惑)。在被叫活动结束之前,调用活动不会出现在屏幕上。

了解更多信息的有用信息是: * http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

- Bruno Oliveira(谷歌Android开发者关系部)