Android:更改root设备

时间:2015-08-10 14:50:29

标签: android opencv cpu-usage rooted-device

我有一台运行在root版Android上的单板计算机。我有一个使用opencv的应用程序需要很多CPU使用率。有时应用程序的性能下降是因为另一个进程在Android OS上运行。我想知道有没有办法改变我的应用程序的线程的优先级,以避免失去性能。我知道对于没有root的版本,这是不可能的,但对于rooted版本有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

在Linux上,您可以使用命令nice执行此操作。您必须使用负参数来提高优先级,并且您必须是root用户:

nice --20 name_of_your_command

要更改正在运行的流程的优先级,您可以使用renice

答案 1 :(得分:0)

使用renice命令,可以更改进程的优先级。 Android使用完全公平的队列来安排进程。
用于创建新流程并更改其优先级:

    nice -n 10 command   

    #means start command and set its nice value to 10

对于已经运行的进程:

    toybox renice -p pid -n 10
    #means change the pid process nice value to 10, toybox is for Android M

好的值介于-20到19之间, ps -t -p 会显示所有过程的好处值:

USER      PID   PPID  VSIZE  RSS  PRIO  NICE  RTPRI SCHED  WCHAN            PC  NAME

root      1     0     1372   780   20    0     0     0     SyS_epoll_ 00000000 S /init

root      2     0     0      0     -2    0     1     1       kthreadd 00000000 S kthreadd

对于非实时过程,PRIO = 20 + NICE,值​​越小,优先级越高