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

Answer: 
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....
        }
    }  
   };

```
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.