java吧 关注:1,228,107贴子:12,686,499
  • 0回复贴,共1

萌新求问,关于用handler来接受到msg之后没有立即执行的问题

只看楼主收藏回复

在MainActivity中建立一个线程
sleep1000;
然后执行了一个简单的方法move;
然后向handler发送消息重绘view组建
实际运行时出现的状态是执行两次move,然后重绘两遍view
也就是
move;
move;
view.ini
view.ini
萌新求问这是什么情况
public Thread automove;
public Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
System.err.println("view ini");
view.invalidate();
}
};
private void startgame() {
automove=new Thread(){
@Override
public void run() {
super.run();
while (true){
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
move();
}
}
};
automove.start();
}
private void move() {
syserrprint(“move”);
handler.sendMessage(new Message());
}


IP属地:江西1楼2018-02-20 17:22回复