我想定期检查每 30 秒进行一次网络调用的更新并相应地更新列表视图,前提是我的屏幕处于前台(因此不是来自服务)。我为此做的是——
private void refreshPeriodically()
{
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try {
new callToMyAsyncTask().execute(context);
} catch (Exception e) {
// TODO Auto-generated catch block
}
}
});
}
};
timer.schedule(doAsynchronousTask, 0, 30*1000); //execute in every 30 sec
}
但是,这会在滚动时挂起我的列表。
我该怎么做?