假设您有以下方法。每次调用方法时,它是否会创建一个带有Looper
对象的Handler
的新实例?或者它在同一个线程上运行?是否每次调用新的Handler(Looper.getMainLooper())创建它的新实例?
private void responseListener
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
//TODO execeute code
}
});
}
基于答案我已经改变了代码这样:
private void responseListener() {
if (onBitmapSaveListener != null) {
if (handler != null && runnable != null) {
handler.removeCallbacks(runnable);
}
runnable = new Runnable() {
@Override
public void run() {
//TODO execeute code
}
};
handler.post(runnable);
}
}
它创建了一个新的处理程序实例的帖子到主尺蠖 – EpicPandaForce
@EpicPandaForce所以这是一个不错的办法? – Muddz
我的意思是你可以只做一个而不是每次新的一个 – EpicPandaForce