你的判断语句有问题,相当于移除了消息又添加了消息,加一个else应该就能解决。
if (progress >= stop) { mHandler.removeMessages(MSG_PROGRESS_UPDATE);}else{ mHandler.sendEmptyMessageDelayed(MSG_PROGRESS_UPDATE, 30);}