Skip to content

Instantly share code, notes, and snippets.

@plusend
Last active August 31, 2017 06:53
Show Gist options
  • Save plusend/9b5086ca78fc166139e6445f1c90c9cb to your computer and use it in GitHub Desktop.
Save plusend/9b5086ca78fc166139e6445f1c90c9cb to your computer and use it in GitHub Desktop.
SyncTaskManager 用于执行一些需要 *顺序执行* 的任务,比如先初始化离线文件,再联网更新离线文件等。
package com.plusend.taskmanager;
import android.os.Handler;
import android.os.HandlerThread;
public enum SyncTaskManager {
INSTANCE;
private final String TAG = "SyncTaskManager";
private Handler handler;
SyncTaskManager() {
HandlerThread handlerThread = new HandlerThread(TAG);
handlerThread.start();
handler = new Handler(handlerThread.getLooper());
}
public static SyncTaskManager getInstance() {
return INSTANCE;
}
public boolean post(Runnable runnable) {
return handler.post(runnable);
}
public boolean postAtFrontOfQueue(Runnable runnable) {
return handler.postAtFrontOfQueue(runnable);
}
public boolean postDelayed(Runnable runnable, long delay) {
return handler.postDelayed(runnable, delay);
}
public boolean postAtTime(Runnable runnable, long time) {
return handler.postAtTime(runnable, time);
}
public void remove(Runnable runnable) {
handler.removeCallbacks(runnable);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment