同步和异步活动

问题描述:

谁能帮助我了解同步和Android的异步活动?同步和异步活动

究竟是什么的同步和异步活动的Android是什么意思?

StartActivityStartSubActivityStartAcivityForResult是以同步方式还是异步方式启动一个活动,还是它们可以以两种方式工作?

请解释一下,因为我已经通过很多文章了,但找不到在这个任何适当的交代。

+0

@ Dinesh..Your的问题是一样的[链接] HTTP://计算器.com/questions/8613295/difference-between-synchronous-activities-ans-asynchronous-activities [link],同时你也回复了这篇文章。那么为什么你问同样的问题。另外AFAIK startSubActivity从来没有公开发布,它的功能是由startActivityForResult()提供的 – Maverick 2012-01-06 18:40:36

+0

感谢Ravi的评论。我回答了这个问题,但我仍然对这个概念感到困惑。所以想要100%清楚。如果你有一些想法比你可以与我分享...... :) – 2012-01-06 18:58:04

+1

“任何人都可以帮助我解释Android中的同步和异步活动。” - Android中没有这样的概念。 – CommonsWare 2012-01-06 19:22:38

首先,只有一个活动可以在Android设备上的时间运行,所以你永远不会在同一时间运行两个活动。当你想“开火并忘记”时,使用startActivity(),也就是说,你想启动一个活动,但不期望它为你的活动返回一个值。在这种情况下,新的活动将开始,您的活动将暂停;一旦用户返回到您的活动,您最终可能会重新获得控制权。

使用startActivityForResult()当你expecing从正在开展活动的结果。在这种情况下,呼叫活动应覆盖onActivityResult(),当启动的活动退出并返回给您(其设置为setResult())时将调用该活动。

在这两种情况下,因为调用活动和所谓的活动是在同一个任务,它在一定意义上的“同步”(虽然我认为使用术语“同步”和“异步”可以在混乱这个上下文)。被叫活动结束前,调用活动不会出现在屏幕上。

一个有用的念想知道更多的是: * http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

- 布鲁诺·奥利维拉(Android开发者关系,谷歌)

+1

感谢Bruno的快速回复。但是,正如我在许多地方所看到的,在这个类型的问题出现时,“解释同步”和“异步”这个术语在某种程度上可以解释我。 – 2012-01-06 19:05:54

+3

同步意味着直到某个任务完成后执行才会继续。如果'startActivity'以这种方式工作,则所有接口都将冻结,直到其他活动正在运行。异步意味着你的任务将在未来的某个地方发生,同时继续执行:你要求启动一个活动,并且你的代码继续执行,并知道它最终会发生。 – slezica 2012-01-07 14:57:23

+1

答案并未妥善解决问题。 – 2014-09-28 12:40:03