I'm trying to make my Android app more responsive and to do so I'm using multithreading; I know thread dispatching is controlled by OS, and such responsibility is on OS thread scheduler's hands, we can't assign them directly.
After some runs I got the feeling my threads was running in a single core, just to save power because they're dependent of each other (producer/ consumer pattern here), that makes totally sense to me.
Also I've read some Stack Overflow post just to confirm my feeling, such as
Are new threads automatically assigned to a different CPU Core in Java?
Threads automatically utilizing multiple CPU cores?
And some others that I won't post here =)
Also I've read this one too Android: Find out which core the thread is running on
So my question is:
From your experience what's a good approach to optimize such thing? Also I never used NDK with Android app, what's the best source to read about NDK usage? I've C++ baggage by the way.
And there's another way to know what core each thread is running?