在我的 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(...) {
...
}
}