looper timer.schedule, run, timer.schedule. run , , , run , , .
:
1:
class Looper extends TimerTask {
volatile boolean running = false;
public Looper() {
}
@Override
public void run() {
if (!running) {
running = true;
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
}
});
} finally {
running = false;
}
}
}
}
:
timer.schedule(new looper(m_mainView, this, Rate),new Date());
...
class Looper extends TimerTask {
final long rate;
final Looper looper;
public Looper(long rate) {
this.rate = rate;
looper = this;
}
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
new Timer().schedule(looper, new Date(new Date().getTime() + rate));
}
});
}
}