我需要每秒自动刷新活动中显示的数据,我使用了runnable,timer等。它们工作正常,但几秒钟后UI变慢,有时没有响应。我已经读过关于IntentService的内容,但我认为在IntentService中使用无限循环不是一个好主意。有什么我想念的,请帮忙。

最佳答案

我会做这样的事情。

private Handler mRepeatHandler;
private Runnable mRepeatRunnable;
private final static int UPDATE_INTERVAL = 5000;
@Override
protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     mRepeatHandler = new Handler();
     mRepeatRunnable = new Runnable() {
          @Override
          public void run() {
               //Do something awesome

               mRepeatHandler.postDelayed(mRepeatRunnable, UPDATE_INTERVAL);
          };

     mRepeatHandler.postDelayed(mRepeatRunnable, UPDATE_INTERVAL);
}

@Override
protected void onDestroy() {
    super.onDestroy();

    mRepeatHandler.removeCallbacks(mRepeatRunnable);
}

07-26 01:06