当前位置:   article > 正文

dumpsys使用详解_dumpsys surfaceflinger

dumpsys surfaceflinger

Dumpsys结构图:

 

实现方式:

dumpsys的代码在mydroid/frameworks/base/cmds/dumpsys/dumpsys.cpp所有的dump信息都是由重载了Binder中的dump函数的类来完成:

        @Override
        protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {

            ...

        }

代码很简单,发现所有dump的信息都是由defaultServiceManager)提供的由系统注册的所有service来提供信息。

以meminfo为例:
它是在

mydroid/frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中的setSystemProcess函数处被注册的

               SrviceManager.addService("activity", m); 
               ServiceManager.addService("meminfo", new MemBinder(m));
               ...

MemBinder->ProcessRecord->各个正在运行状态的ApplicationThread的状态(mydroid/frameworks/base/core/java/android/app/ActivityThread.java),从中得到需要的meminfo信息。

          这其中其实牵涉到负责的Android的是如何管理Linux的进程,同时又是如何把Linux的进程管理起来提供各种信息给Java层使用。

上述信息来自网络:

https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0CCEQFjAB&url=http%3A%2F%2Ffreshui-player.googlecode.com%2Fsvn%2Fbranches%2Fdocs%2Fandroid_tools%2FAndroid%25E7%25B3%25BB%25E7%25BB%259F%25E5%2588%2586%25E6%259E%2590%25E5%25B7%25A5%25E5%2585%25B7-dumpsys.doc&ei=XHftU5WaOIPn8AWsn4HADw&usg=AFQjCNHK3eJPxr5jB07Di96dlBqStTrtdg&bvm=bv.73231344,d.dGc

 

具体命令行参数:

1、 SurfaceFlinger

SurfaceFlinger是Android进行图形界面绘制的服务,根据文档显示,有硬件绘制和GPU绘制两种实现方式。

 

(来源:http://blog.csdn.net/windskier/article/details/7030732 )

 

通过dumpsys SurfaceFlinger,除了可以看到显示设备的一些参数开关之外,还能能到如下,360手机卫士主界面是硬件方式绘制的。

 

 

         另外,还能看到命令行运行时候,手机系统上所有layer信息,如下所示:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/830145
推荐阅读
相关标签
  

闽ICP备14008679号