有人可以解释一下startActivity(intent)和startActivityForResult(intent)是如何异步的?

mgi*_*son 20 multithreading android asynchronous synchronous android-activity

如果异步线程是一个与主线程分开操作并且不干扰主线程的线程...

新的一个Activity线程在启动后是否占用主线程startActivity(intent)

我读过的大部分内容都说这些都是异步的,但是有一些相互矛盾的答案,并且那些说这并不能给出令人信服的论据的人.

因此,如果有任何人清楚地知道他们为什么是同步/异步,那么我将是一个非常感激的人!

干杯

编辑:所以答案我从这两个好民谣和一些东西在线...

将活动纳入同步/异步的混合可能会导致马的负荷.但它仍然指的是...的原则

Synchronous 必须在调用堆栈继续之前完成方法/命令.

Asynchronous方法/命令(通常在线程/ AsyncTask中完成)并行继续,允许主线程执行继续.(它可以在自己的时间返回)

startActivity(intent)startActivityForResult(intent)方法是异步的,因为它们是非阻塞,并允许执行的线程继续执行,而其相应的任务也是如此.

Vas*_*dev 27

startActivity(intent)并且startActivityForResult(intent)在这些方法立即返回而不启动Activity的意义上是异步的.实际上,只有在当前Activity的生命周期事件结束后,它们才会安排Activity启动.

如果你有什么需要花费一些时间来完成,那么在onPause()第一项活动的方法中,新的Activity开始将很慢.

  • 完美而紧凑的答案! (2认同)