Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android系統cpu資源相關查詢

android系統cpu資源相關查詢

編輯:關於Android編程

android系統cpu資源相關查詢


我們都知道android是基於linux系統內核的,在linux系統中我們查看系統資源消耗情況,一個可以直接通過命令行的top命令來看,裡面有cpu具體的使用情況,當然在android系統上也還是保留了的。top還是很有用,那在android應用上怎麼表現出來呢?

在【設置】應用中,在開發者選項裡面就有一項現成的看cpu使用情況的,具體情況的顯示是顯示在ui的系統層,而不是activities,是始終高於activities的,保障在任何應用界面裡都可以顯示正常,ui的這種系統層設計還是挺不錯的。我們先看看這個設置吧!如下圖:

/*****************************************************************************************************/
聲明:本博內容均由http://blog.csdn.net/edsam49原創,轉載請注明出處,謝謝!
/*****************************************************************************************************/

\

我們在系統的右上角可以看到這個特殊圖層的顯示,最上面顯示的loadavg,就是平均載荷,下面就是活躍的幾個任務。這怎麼實現的呢?

在android4.4系統中,在設置應用的代碼裡有DevelopmentSettings.java,裡面有一個SHOW_CPU_USAGE_KEY,跟蹤它可以找到一些關鍵代碼:

    private void updateCpuUsageOptions() {
        updateCheckBox(mShowCpuUsage, Settings.Global.getInt(getActivity().getContentResolver(),
                Settings.Global.SHOW_PROCESSES, 0) != 0);
    }

    private void writeCpuUsageOptions() {
        boolean value = mShowCpuUsage.isChecked();
        Settings.Global.putInt(getActivity().getContentResolver(),
                Settings.Global.SHOW_PROCESSES, value ? 1 : 0);
        Intent service = (new Intent())
                .setClassName("com.android.systemui", "com.android.systemui.LoadAverageService");
        if (value) {
            getActivity().startService(service);
        } else {
            getActivity().stopService(service);
        }
    }

裡面很清楚了就是選項的checkbox跟Settings.Global.SHOW_PROCESSES這個數據庫的設置值有關系,具體如果勾上了,就去觸發啟動systemui上的一個服務LoadAverageService,這個服務裡面就是得到一些cpu的數據,先分析到這裡,下一篇文章研究一下LoadAverageService的一些東西,無法也是分析proc下面的一下系統狀態文件。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved