【发布时间】:2012-12-04 20:18:53
【问题描述】:
如果异步线程是独立于主线程运行且不干扰主线程的线程...
新的Activity通过startActivity(intent)启动后是否不占用主线程?
我读到的大部分内容都说这些都是异步的,但是有相当多的相互矛盾的答案,而且说这句话的人并没有真正给出令人信服的论据。
因此,如果有人清楚这一点并能解释为什么它们是同步/异步的,我将非常感激!
干杯
编辑:所以我从这两个好人和网上的一些东西中得出的答案......
将活动带入同步/异步的混合中可能会导致大量负载出现。但它仍然是指...的原则。
Synchronous 方法/命令必须在调用堆栈继续之前完成。
Asynchronous 方法/命令(通常在线程/AsyncTask 中完成)并行继续,允许执行的主线程继续。 (它可以在自己的时间返回)
startActivity(intent) 和 startActivityForResult(intent) 方法是异步的,因为它们是非阻塞的,并且允许执行线程在执行相应任务的同时继续。
【问题讨论】:
-
不完全是。 startActivity 计划稍后在 UI 线程上运行一个新活动。它是异步的,它不会立即启动,并且方法会立即返回。
-
啊,谢谢!感谢您的帮助!
-
如果你想创建一个答案,我会接受它
标签: android multithreading asynchronous android-activity synchronous