message.what設為-1,sendmessage完之后,用一個log獲取what值是對的,sleep(300)后再獲取what值就變成0了……sleep前再加幾個log都是-1……
sendmessage之后我也再沒動過what值,what=-1沒有操作,而且sendmessage后下一行就是log
有大佬知道是怎么回事嗎
上傳照片一直失敗……
uj5u.com熱心網友回復:
這么神奇 你斷點除錯下 看你messge.what值在哪變的uj5u.com熱心網友回復:
而且sendmessage后下一行就是log?sendmessage后不是在handlemessage方法里列印?
uj5u.com熱心網友回復:
你好,我把照片放在blink里了,大佬看一下吧
uj5u.com熱心網友回復:
你好,我把照片放在blink里了,大佬看一下吧
uj5u.com熱心網友回復:
你sendMessage后為什么還要列印這個值?因為Message是可復用的,你短暫暫停后,可能這個Message物件就被回收復用了。正常都是你要sendMessage的時候重新獲取一個Message物件。
uj5u.com熱心網友回復:
https://www.jianshu.com/p/219701879fe4uj5u.com熱心網友回復:
而且sendmessage后下一行就是log?
sendmessage后不是在handlemessage方法里列印?
你好,我把照片放在blink里了,大佬看一下吧
你sendMessage后為什么還要列印這個值?因為Message是可復用的,你短暫暫停后,可能這個Message物件就被回收復用了。正常都是你要sendMessage的時候重新獲取一個Message物件。
沒有再對message賦值也會被回收嗎(T▽T)因為我在回圈最后還要判定message的值,難道我在send和判定之間不能放sleep了嗎?我現在另設了一個變數倒是解決這個問題了(T▽T)但是感覺好神奇
uj5u.com熱心網友回復:
難道不是在 handleMessage 里判斷what值嗎?
Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
break;
}
}
};
uj5u.com熱心網友回復:
難道不是在 handleMessage 里判斷what值嗎?
Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
break;
}
}
};
那里的是對的,但是后面還要用到what,值就不對了
uj5u.com熱心網友回復:
難道不是在 handleMessage 里判斷what值嗎?
Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
break;
}
}
};
那里的是對的,但是后面還要用到what,值就不對了
它回收了,變成默認值0了,你自己建個變數保存
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/120849.html
標籤:Android
