I would be careful with this, as of 3.0+ `AsyncTask` uses a `SerialExecutor` (single thread). Prior to that it uses a Thread pool (something like 5 threads).
It would be quite easy to stack up a queue quickly.

As you're not passing your back to the UI Thread for the callback, there is no reason to use `AsyncTask` It is nothing more than a `ExecutorService` and `Handler`.

Personally I would recommend a FixedThreadPool.

```java
int procCount = Runtime.getRuntime().availableProcessors();
Executors.newFixedThreadPool(procCount);
```

This will give you a sensible thread count for Desktops and Android Devices alike.