假设我的活动ui-thread在某个时刻产生了一个单独的线程。新线程触发启动新活动的意图是否安全?
谢谢
发布于 2010-07-21 10:34:23
我可能错了,但我认为startActivity()是在UI线程内部执行的。所以是的,它应该是安全的。
如果您想要100%确定,可以在活动的runOnUiThread()中以Runnable的形式调用startActivity()。
发布于 2012-11-14 19:25:42
startActivityForResult() (由所有startActivity()变体使用)的前几行表明这是可以的:
public void startActivityForResult(Intent intent, int requestCode, Bundle options) {
if (mParent == null) {
Instrumentation.ActivityResult ar =
mInstrumentation.execStartActivity(
this, mMainThread.getApplicationThread(), mToken, this,
intent, requestCode, options);发布于 2011-04-16 07:03:58
我做了一个实验:-从非ui线程启动活动,并在onCreate()中设置一个从1到100的循环,其中我打印了名为Thread.currentThread()的线程-在非ui线程中的活动开始之后立即执行相同的循环
输出同时显示它们命名为ThreadAsyncTask #1,5,main和Threadmain,5,main
https://stackoverflow.com/questions/3295847
复制相似问题