Ric*_*ich 14 android android-handler
有人可以解释为什么Handlers发布了一个可运行的?重写handleMessage和发送消息是否也做同样的事情?
我写了一些未经测试的代码来说明我认为这两种方法的实现方式.如果我的方法错了,请纠正我.
邮政处理程序:
handler.post(new Runnable() {
@Override
public void run() {
imageView.doSomething();
}
});
Run Code Online (Sandbox Code Playgroud)
handleMessage处理程序:
final Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
imageView.doSomething();
}
};
handler.sendMessage(message);
Run Code Online (Sandbox Code Playgroud)
Mr.*_*.Me 11
两个代码片段的工作方式相同,当您想要在UI线程上执行某些代码时,通常使用Handler.postRunnable,而无需了解有关Handler对象的任何信息.在许多需要在UI线程上执行任意代码的情况下,这是有道理的.
但在某些情况下,您希望组织发送到UI线程的内容并具有您希望以这种方式执行的特定功能,您可以使用sendMessage.
我不认为使用任何一个在另一个之上会有性能损失.取决于你,使用你认为更适合你的任何东西.
| 归档时间: |
|
| 查看次数: |
8491 次 |
| 最近记录: |