android系统cpu资源相关查询

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下面的一下系统状态文件。


    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。