Android: one handler for all runnables?

2019-04-19 07:07发布

问题:

Can I use one handler in my Activity for all runnables or should I have multiple instances of Handler, each for one runnable?

回答1:

You can use only one handler and to specify from where your are coming use different message.

handler.sendEmptyMessage(messagevalue);  //use this to send message from different place

Now handle message

    private Handler handler=new Handler(){

    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        //specify msg value
        if(msg.what==10){
            //do this
        }else if(msg.what==20){
            // do this
        }else{
            //so on....
        }
    }  
   };


回答2:

I would say, that you should have one handler per thread (not per runnable), unless you do not need completely different behavior for different kinds of runnables.