mHandler.postDelayed(new Runnable() {
@Override
public void run() {
mHandler.removeCallbacksAndMessages(null);
}
}, 500);
mHandler.removeCallbacksAndMessages(null); 用来移除所有消息,
但是用handler.postdelayed 无效,
是用TimerTask 或者 Thread 来控制时 是可以生效的。
请问因为什么原因导致无效的呢?
removeCallbacksAndMessages(null)의 기능은 무엇인가요?
매개변수가 null이면 모든 콜백과 메시지가 지워집니다.
소스 코드를 보고 계십니다. Message의 생성자는 비어 있고 0입니다. 아직 실행되지 않았으며 삭제됩니다.
죄송하지만 왜 유효하지 않은가요?
mHandler.removeCallbacksAndMessages(null);
이 실행되지 않았기 때문인가요?500개의 지연 후에 자체 실행 파일을 제거하는 것은 약간 이상하게 느껴집니다.
으아악이것을 시도해 볼 수 있습니다