首先,请参阅下面的代码。
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();
}
}
忽略这可能导致内存泄漏的事实(我知道)。 我的问题是:
提前致谢。
答案 0 :(得分:0)
AAAA和BBBB会一起执行吗?
只有AAAA会被执行,当您post()
Runnable
时,您希望Handler
执行Runnable
中的代码。要执行BBBB,您必须使用Handler
方法之一向sendMessage()
发送消息。有关详细信息,请参阅doc。
根据代码,消息不是从onCreate()发送的,所以AAAA是否收到空消息?
没有。如上所述,handleMessage()
未被调用。
当我运行代码时,AAAA似乎没有被执行。只执行BBBB。为什么会这样?
同样,第一个答案解释了为什么