在我的Android应用程序中,我正在听几个系统事件(不经常被解雇),并且在每个事件之后我发布一个任务,该任务在短暂的延迟(通常是1分钟)后执行背景。 (任务完成后,等待某些条件,可以再次发布)
我的方法是实例化一个具有HandlerThread的Singleton并将我的任务发布到该处理程序线程。 (见下面的代码片段)
我理解这个线程现在在我的应用程序的生命周期中存活。我的问题是:
即使在没有做任何工作的情况下,使HandlerThread保持活跃也会受到影响吗?
public class Observer {
private HandlerThread workerThread;
private Handler mHandler;
private Observer() {
workerThread = new HandlerThread("observer-thread", Process.THREAD_PRIORITY_BACKGROUND);
workerThread.start();
mHandler = new Handler(workerThread.getLooper());
}
public static Observer getInstance() {
if (mInstance == null) {
synchronized (Observer.class) {
if (mInstance == null) {
mInstance = new Observer();
}
}
}
return mInstance;
}
public void post(...) {
...
}
}