Android处理程序执行
首先,请参阅下面的代码Android处理程序执行,android,handler,execution,Android,Handler,Execution,首先,请参阅下面的代码 public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // AAAA } } @Override protected
public class SampleActivity extends Activity {
private final Handler mLeakyHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// AAAA
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
Super. onCreate (savedInstanceState);
// Post a message and delay its execution for 10 minutes.
mLeakyHandler.postDelayed(new Runnable() {
@Override
public void run() {
// BBBB
}
}, 60 * 10 * 1000);
// Go back to the previous Activity.
finish();
}
}
忽略这一事实,我知道这会导致内存泄漏。
我的问题是:
AAAA和BBBB会一起执行吗?如果没有,将首先执行哪个?
根据代码,消息不是从onCreate发送的,所以AAAA是否会收到一条空消息?
当我运行代码时,AAAA似乎没有被执行。只执行BBBB。为什么会这样?
提前谢谢
AAAA和BBBB会一起执行吗
只有AAAA将被执行,当您发布一个Runnable时,您希望处理程序在Runnable中执行代码。要执行BBBB,必须使用sendMessage方法之一向处理程序发送消息。有关详细信息,请参阅
根据代码,消息不是从onCreate发送的,所以AAAA是否会收到一条空消息
否。如上所述,handleMessage不被调用
当我运行代码时,AAAA似乎没有被执行。只执行BBBB。为什么会这样
同样,第一个答案解释了原因