Как направить все ресурсы телефона на выполнение программы?

Я использую библиотеку opencv под андроид, вкратце программа находит нужный кадр из видео и определяет рост и параметры человека. На выполнение этой части кода(выполняется параллельно) уходит примерно 1.5 минуты на телефоне , есть ли какой-то способ , чтобы из приложения указать, что надо задействовать все ресурсы телефона? Или допустим использовать несколько процессоров? P.S. хотя тот же код выполняли на java (Intelijie Idea) , он работал за 10 секунд.


Ответы (1 шт):

Автор решения: Barmaley Red Star

Ну прямо вот все ресурсы использовать не получится, но можно попробовать поиграть с приоритетами вашего процесса:

android.os.Process.setThreadPriority(priority);

По умолчанию приоритет равен 0, по идее можно повысить приоритет:

priority - int a Linux priority level, from -20 for highest scheduling priority to 19 for lowest scheduling priority.

Update

Если речь идет об AsyncTask, то повысить приоритет можно так:

protected final MyResult doInBackground(MyInput... myInput) {
    Process.setThreadPriority(priority);
    // blah-blah
}

Отсюда

→ Ссылка