次の方法があるとします。メソッドが呼び出されるたびに、の新しいインスタンスがLooper
オブジェクトで作成されますか?それとも同じスレッド上で動作しますか?回答に基づいて新しいハンドラ(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
あなたはおそらく毎回新しいものの代わりに1つを作ることができるかもしれないことを意味します – EpicPandaForce