在AppCompatActivity中,只想获得一些反馈。这个Runnable什么时候运行?
是否在主ui线程上发布super.onBackPressed();
,然后我的Runnable也发布到主ui线程?我知道这是一个正确的队列。这是对的吗?
@Override
public void onBackPressed() {
super.onBackPressed();
runOnUiThread(new Runnable() {
@Override
public void run() {
// some work
}
});
}
答案 0 :(得分:0)
onBackPressed()
上调用 UI thread
。所以这里不需要runOnUiThread()
方法。
您的代码所做的是从UI线程本身在UI线程上发布Runnable
内部runOnUiThread()
执行以下操作
public final void runOnUiThread(Runnable action) {
if (Thread.currentThread() != mUiThread) {
mHandler.post(action);
} else {
action.run();
}
}