You make a confusion between "multicore" and "multithreading". On all Android devices, many threads are run on the same core. That does not make things faster. That just gives the feeling that some things are run in parallel (but of course they're not). That won't change anything to your need. What you need is to run these threads in their own core for a true parallelism. In most cases, it's the OS or the CPU itself that decides the allocation. I don't know if you can force it on Android, but usually it's done in a very efficient way so you don't have to worry.
I thought, based on link you gave me, core allocation is done on Android OS, developer can only tried to do multi thread for better performance. May be I was misunderstood
About performance, in windows OS, when CPU is multi core, multi thread improved performance a lot. In my case, it was at least 6-7 times faster.
It is not correct that there is no multithreaded support.
RDC (which is based on HttpUtils2) is handled by a pool of background threads. The same is true for the asynchronous SQL methods.
You need to fetch all the data and then insert it with SQL.ExecNonQueryBatch.
Oh course there is multithreaded support, but in my case, not sure.
If I fetch all data, this background thread, waits until all data fetch then when insert with SQL.ExecNonQueryBatch, wait again until all insert operation finished.
What I have in mind, 20000 records, divided into 10 threads, each threads, handle 2000 records for download and insert operations, and if possible, do some analyzing downloaded data before inserted to local table.