我有一个以5ms的间隔运行的处理程序方法。我想在一段时间后停止执行?有任何建议,请
答案 0 :(得分:0)
您可以通过为处理程序和runnable创建实例成员来管理处理程序(可运行),然后在Activity Lifecycle方法中管理处理程序。
private Handler myHandler;
private Runnable myRunnable = new Runnable() {
@Override
public void run() {
//Do Something
}
};
使用handler.post启动runnable。
protected void onStart() {
super.onStart();
myHandler = new Handler();
myHandler.post(myRunnable);
}
如果在调用时onStop
之前没有执行runnable,我们不想运行它。删除onStop
方法中的回调:
protected void onStop() {
super.onStop();
mHandler.removeCallbacks(myRunnable);
}