Android中我们常用的post()方法大致有两种情况:
1.如果post方法是handler的,则Runnable执行在handler依附线程中,可能是主线程,也可能是其他线程
2.如果post方法是View的,则一定是运行在主线程中的,因为所有view都自带一个handler,所有handler都有post方法,所以它的Runnable是运行在主线程中的
例如:Imageview自带一个handler,它有postDelayed方法,由于imageview是主线程上的,所以Runable是运行在主线程中的代码。
imageview.postDelayed(new Runnable() {
@Override
public void run() {
Intent mIntent = new Intent(MainActivity.this,
SecondActivity.class);
startActivity(mIntent);
finish();
}
}, 2000);