比如:
boolean flag=ture;
new thread(){
public void run(){
if(flag){
activity.handler.sendMessage(message);
}
}
}
然后我在activity中创建的这个handler
handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg){
disposeMessage(msg);
return true;
}
});
public void disposeMessage(Message msg){
flag=true;
}
为什么activity.handler.sendMessage(message);会执行两次?
------解决方案--------------------
如果线程没被重建,不应该是两次,你怎么看到是执行了两次呢?
------解决方案--------------------
两个线程啊,时间片转换不是很准确,猜测
------解决方案--------------------
public static void printStack() {
try {
throws(new Exception()) {
}
catch (Exception e) {
e.printStactTrace()
}
}
把上面的函数放在sendMessage处,看看两次栈信息,再分析怎么回事