假設您有以下方法。每次調用方法時,它是否會創建一個帶有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