unity3d 获取cpu主频 android

C#

    public static long getMaxCpuFreq()
    {       
#if  ( !UNITY_EDITOR && UNITY_ANDROID )
        if (_lMaxCpuFreq == 1024)
        {
            try
            {
                AndroidJavaClass unityPluginLoader = new AndroidJavaClass("java类全名");
                _lMaxCpuFreq = unityPluginLoader.CallStatic<int>("getMaxCpuFreq");
            }
            catch (Exception e)
            {

            }
        }

#endif
        return _lMaxCpuFreq;
    }

java

    public static int getMaxCpuFreq() {
        String kCpuInfoMaxFreqFilePath = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq";

        int result = 1600000;
        FileReader fr = null;
        BufferedReader br = null;

        try {
            fr = new FileReader(kCpuInfoMaxFreqFilePath);
            br = new BufferedReader(fr);
            String text = br.readLine();
            result = Integer.parseInt(text.trim());
        } catch (FileNotFoundException e) {
            // e.printStackTrace();
            return 1600000;
        } catch (IOException e) {
            // e.printStackTrace();
            return result;
        } finally {
            if (fr != null)
                try {
                    fr.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    // e.printStackTrace();
                    return result;
                }

            if (br != null)
                try {
                    br.close();

                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    // e.printStackTrace();
                    return result;
                }

        }
        return result;
    }

猜你喜欢

转载自blog.csdn.net/qqo_aa/article/details/78533100