Android cpu频率不贴

时间:2016-11-17 23:45:47

标签: android cpu

我开发了一款可以修改CPU频率的应用。我的应用程序与我的Nexus 4 Lollipop工作得很好,我可以打开/关闭核心,修改每个核心的频率等等。但是现在我已经切换到我的Nexus 6 Nougat,它不允许我将频率降低到某个级别,例如:

(州长是用户空间)

这些是可能的频率:

300000 422400 652800 729600 883200 960000 1036800 1190400 1267200 1497600 1574400 1728000 1958400 2265600 2457600 2496000 2572800 2649600

如果我试图回复'1497600'以下的任何频率,我的手机会自动将此频率提升回'1497600',但任何高于此水平的速度都会正常粘连。我试图阻止mpdecision,然后重命名,但没有变化。有没有办法知道mpdecision是否已停止?新Android不允许我更改这些值吗?

private void writeSpeedOnCore(int core,int speed){
        StringBuilder path = new StringBuilder();
        //Turn on Core if it is offline
        if(speed!=0) {
            if(currentClockLevel[core][2]==0) {
                turnCoreOnOff(core, true);
            }
            adjustMinAndMaxSpeed(core);
            try {
                path.setLength(0);
                path.append(String.format("echo %d" + " > " + pathCPU + core + "/cpufreq/scaling_setspeed", speed));
                Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", path.toString()});
                proc.waitFor();
                currentClockLevel[core][0] = speed;
            } catch (InterruptedException | IOException e) {
                e.printStackTrace();
            }
        }
        else
            turnCoreOnOff(core,false);
    }

0 个答案:

没有答案