最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中dumpsys命令用法簡單介紹

 更新時間:2017年03月06日 11:38:48   投稿:lqh  
這篇文章主要介紹了Android中dumpsys命令用法簡單介紹的相關資料,需要的朋友可以參考下

在Android手機上, 通過使用adb shell命令可以進入android系統(tǒng)的shell, 該shell除支持一些常用的標準命令之外,還支持一些和android系統(tǒng)相關的其他命令, 這些命令可以打印出系統(tǒng)當前的狀態(tài)信息。 dumpsys就是這樣一個命令。

使用 adb shell 進入命令行, 敲入dumpsys, 打印出的信息超級多, 在我的nexus 5機器上,輸出多達67000行。 首先從打印信息的開始部分看起:

Currently running services: 
 SurfaceFlinger 
 accessibility 
 account 
 activity 
 alarm 
 android.security.keystore 
 appops 
 appwidget 
 assetatlas 
 audio 
 backup 
 battery 
 batterypropreg 
 batterystats 
 bluetooth_manager 
 clipboard 
 commontime_management 
 connectivity 
 consumer_ir 
 content 
 country_detector 
 cpuinfo 
 dbinfo 
 device_policy 
 devicestoragemonitor 
 diskstats 
 display 
 display.qservice 
 dreams 
 drm.drmManager 
 dropbox 
 entropy 
 gfxinfo 
 hardware 
 input 
 input_method 
 iphonesubinfo 
 isms 
 location 
 lock_settings 
 media.audio_flinger 
 media.audio_policy 
 media.camera 
 media.player 
 media_router 
 meminfo 
 mount 
 netpolicy 
 netstats 
 network_management 
 nfc 
 notification 
 package 
 permission 
 phone 
 power 
 print 
 procstats 
 samplingprofiler 
 scheduling_policy 
 search 
 sensorservice 
 serial 
 servicediscovery 
 simphonebook 
 sip 
 statusbar 
 telephony.registry 
 textservices 
 uimode 
 updatelock 
 usagestats 
 usb 
 user 
 vibrator 
 wallpaper 
 wifi 
 wifip2p 
 window 

由此可知,該命令打印出的是系統(tǒng)當前的所有正在運行的服務的信息。從中可以看到我們常見的一些服務。 activity表示的是ActivityManagerService,用于管理應用程序的四大組件, appops表示的是AppOpsManagerService, 用于管理和配置權限。window表示的是WindowManagerService, 用于管理系統(tǒng)中的窗口, account表示的是AccountManagerService,用于管理系統(tǒng)中的賬戶信息。

在輸出信息中, 緊接著的是每個服務當前的詳細狀態(tài)信息,每個服務的狀態(tài)信息一般都比較多, 下面列舉一個信息較少的服務信息:

------------------------------------------------------------------------------- 
DUMP OF SERVICE accessibility: 
ACCESSIBILITY MANAGER (dumpsys accessibility) 
 
User state[attributes:{id=0, currentUser=true, accessibilityEnabled=false, touchExplorationEnabled=false, displayMagnificationEnabled=false} 
  services:{}] 
 
------------------------------------------------------------------------------- 

每個服務信息之間使用橫線間隔。

在開發(fā)過程中, 使用dumpsys的最常用的用途是查看ActivityManagerService服務的信息。 下面重點分析ActivityManagerService。 該服務的信息從下面一行開始:

------------------------------------------------------------------------------- 
DUMP OF SERVICE activity: 

我們知道android應用程序的四大組件中有三個是由intent來驅動的。所以在ActivityManagerService的信息中,專門有一部分來記錄當前待處理的Intent, 稱為pending intent 。格式如下:

ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents) 
 * PendingIntentRecord{65ced5f0 com.baidu.BaiduMap broadcastIntent} 
 uid=10084 packageName=com.baidu.BaiduMap type=broadcastIntent flags=0x0 
 requestIntent=act=com.baidu.locTest.LocationServer4.1.8 
 sent=true canceled=false 
 * PendingIntentRecord{66412b40 com.android.phone broadcastIntent} 
 uid=1001 packageName=com.android.phone type=broadcastIntent flags=0x0 
 requestIntent=act=com.android.phone.ACTION_CALL_BACK_FROM_NOTIFICATION dat=tel:153%201571%209213 cmp=com.android.phone/.PhoneGlobals$NotificationBroadcastReceiver 

直接在shell中鍵入dumpsys activity intents, 會直接得到這些信息。 每個待處理的intent在ActivityManagerService內部使用一個PendingIntentRecord對象表示, 并且會顯示出所在應用的包名, 并且會指定該intent是用來發(fā)送廣播, 啟動activity或是啟動service。

下面的信息是系統(tǒng)中的broadcast receiver的狀態(tài)信息, 從下面一行開始:

------------------------------------------------------------------------------- 
ACTIVITY MANAGER BROADCAST STATE (dumpsys activity broadcasts) 

直接在shell中鍵入umpsys activity broadcasts, 會直接得到這部分信息。

首先會列出系統(tǒng)中所有注冊的廣播接收者, 格式如下:

Registered Receivers: 
 * ReceiverList{660f2e40 857 com.android.systemui/10012/u-1 remote:660f2ca0} 
 app=857:com.android.systemui/u0a12 pid=857 uid=10012 user=-1 
 Filter #0: BroadcastFilter{660f2ea0} 
 Action: "android.intent.action.SHOW_BRIGHTNESS_DIALOG" 
 * ReceiverList{66045cf0 3867 com.meitu.meiyancamera:pushservice/10091/u0 remote:65e756c8} 
 app=3867:com.meitu.meiyancamera:pushservice/u0a91 pid=3867 uid=10091 user=0 
 Filter #0: BroadcastFilter{66045d50} 
 Action: "android.net.conn.CONNECTIVITY_CHANGE" 

之后列出的是位于前臺的歷史廣播, 格式如下:

Historical broadcasts [foreground]: 
 Historical Broadcast foreground #0: 
 BroadcastRecord{65610478 u-1 android.intent.action.TIME_TICK} to user -1 
 Intent { act=android.intent.action.TIME_TICK flg=0x50000014 (has extras) } 
 extras: Bundle[{android.intent.extra.ALARM_COUNT=1}] 
 caller=android null pid=-1 uid=1000 
 dispatchClockTime=Tue Oct 07 10:53:00 GMT+08:00 2014 
 dispatchTime=-14s534ms finishTime=-14s436ms 
 resultTo=null resultCode=0 resultData=null 
 resultAbort=false ordered=true sticky=false initialSticky=false 
 nextReceiver=10 receiver=null 
 Receiver #0: BroadcastFilter{6568af00 u0 ReceiverList{65692db8 748 system/1000/u0 local:65b2a730}} 
 Receiver #1: BroadcastFilter{660c8768 u0 ReceiverList{660c81a8 857 com.android.systemui/10012/u0 remote:660c78c0}} 
 Receiver #2: BroadcastFilter{65d2d230 u0 ReceiverList{65d2cb20 857 com.android.systemui/10012/u0 remote:65a8bb70}} 
 Receiver #3: BroadcastFilter{65f042e8 u0 ReceiverList{65f04d90 857 com.android.systemui/10012/u0 remote:65f9f2c0}} 
 Receiver #4: BroadcastFilter{65a9d5f0 u0 ReceiverList{65affbc8 857 com.android.systemui/10012/u0 remote:65b41d50}} 
 Receiver #5: BroadcastFilter{6682be08 u0 ReceiverList{6682bda8 857 com.android.systemui/10012/u0 remote:665c2478}} 
 Receiver #6: BroadcastFilter{667a6c48 u0 ReceiverList{6671f128 857 com.android.systemui/10012/u0 remote:662c4048}} 
 Receiver #7: BroadcastFilter{66901318 u0 ReceiverList{66949870 11260 com.youku.phone:MMS/10080/u0 remote:6695e528}} 
 Receiver #8: BroadcastFilter{663a4b60 u0 ReceiverList{663a5148 857 com.android.systemui/10012/u0 remote:663c3530}} 
 Receiver #9: BroadcastFilter{6633df98 u0 ReceiverList{6633f628 857 com.android.systemui/10012/u0 remote:66370860}} 

然后是位于后臺的歷史廣播,格式如下:

Historical broadcasts [background]: 
Historical Broadcast background #0: 
 BroadcastRecord{66430db0 u0 cn.etouch.ecalendar_CN.ETOUCH.ECALENDAR.WEATHER_HAS_UPDATE} to user 0 
 Intent { act=cn.etouch.ecalendar_CN.ETOUCH.ECALENDAR.WEATHER_HAS_UPDATE flg=0x10 (has extras) } 
 extras: Bundle[mParcelledData.dataSize=44] 
 caller=cn.etouch.ecalendar 3036:cn.etouch.ecalendar:remote/u0a140 pid=3036 uid=10140 
 dispatchClockTime=Tue Oct 07 10:53:00 GMT+08:00 2014 
 dispatchTime=-14s475ms finishTime=-14s400ms 
 resultTo=null resultCode=0 resultData=null 
 nextReceiver=5 receiver=null 
 Receiver #0: ResolveInfo{66335e40 cn.etouch.ecalendar/.widget.myWidget_weather p=1000 m=0x108000} 
 priority=1000 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false 
 ActivityInfo: 
 name=cn.etouch.ecalendar.widget.myWidget_weather 
 packageName=cn.etouch.ecalendar 
 labelRes=0x7f06016c nonLocalizedLabel=null icon=0x0 
 enabled=true exported=true processName=cn.etouch.ecalendar 
 taskAffinity=cn.etouch.ecalendar targetActivity=null 
 ApplicationInfo: 
 packageName=cn.etouch.ecalendar 
 labelRes=0x7f060042 nonLocalizedLabel=null icon=0x7f0200c5 
 className=cn.etouch.ecalendar.common.ApplicationManager 
 processName=cn.etouch.ecalendar 
 taskAffinity=cn.etouch.ecalendar 
 uid=10140 flags=0x88be44 theme=0x7f0a0029 
 requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0 
 sourceDir=/data/app/cn.etouch.ecalendar-1.apk 
 seinfo=default 
 dataDir=/data/data/cn.etouch.ecalendar 
 enabled=true targetSdkVersion=11 
 supportsRtl=false 

下面是provider相關的信息, 格式如下:

------------------------------------------------------------------------------- 
ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers) 
 Published single-user content providers (by class): 
 * ContentProviderRecord{65cd5f60 u0 com.redbend.vdmc/com.redbend.others.NodeProvider} 
 package=com.redbend.vdmc process=com.redbend.vdmc 
 proc=ProcessRecord{65d540d8 1018:com.redbend.vdmc/1001} 
 uid=1001 provider=android.content.ContentProviderProxy@658b6690 
 singleton=true 
 authority=com.lge.node 
 * ContentProviderRecord{65d1b150 u0 com.android.phone/.IccProvider} 
 package=com.android.phone process=com.android.phone 
 proc=ProcessRecord{65fe2488 1000:com.android.phone/1001} 
 uid=1001 provider=android.content.ContentProviderProxy@660cbf38 
 singleton=true 
 authority=icc 
 isSyncable=false multiprocess=true initOrder=0 

直接在命令行鍵入dumpsys activity providers,可以直接得到provider相關的信息。由輸出信息可知, 在AtivityManagerService中,一個provider組件使用一個ContentProviderRecord對象表示。

服務(Service)相關的信息如下:

------------------------------------------------------------------------------- 
ACTIVITY MANAGER SERVICES (dumpsys activity services) 
 User 0 active services: 
 * ServiceRecord{660da0f0 u0 com.android.bluetooth/.hid.HidService} 
 intent={act=android.bluetooth.IBluetoothInputDevice cmp=com.android.bluetooth/.hid.HidService} 
 packageName=com.android.bluetooth 
 processName=com.android.bluetooth 
 baseDir=/system/app/Bluetooth.apk 
 dataDir=/data/data/com.android.bluetooth 
 app=null 
 createTime=-1d16h27m16s523ms startingBgTimeout=-- 
 lastActivity=-17h20m54s385ms restartTime=-- createdFromFg=false 
 Bindings: 
 * IntentBindRecord{660da3e0}: 
 intent={act=android.bluetooth.IBluetoothInputDevice cmp=com.android.bluetooth/.hid.HidService} 
 binder=null 
 requested=false received=false hasBound=false doRebind=false 

在shell中直接鍵入dumpsys activity services命令, 可以直接得到Service信息。

Activity相關的信息格式如下:

------------------------------------------------------------------------------- 
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) 
 Stack #0: 
 Task id #1 
 * TaskRecord{65cc6860 #1 A=com.google.android.googlequicksearchbox U=0 sz=1} 
 numActivities=1 rootWasReset=true userId=0 mTaskType=1 numFullscreen=1 mOnTopOfHome=true 
 affinity=com.google.android.googlequicksearchbox 
 intent={act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10600000 cmp=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL} 
 realActivity=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL 
 Activities=[ActivityRecord{66020ee8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1}] 
 askedCompatMode=false 
 lastThumbnail=android.graphics.Bitmap@6653bf90 lastDescription=null 
 lastActiveTime=144235207 (inactive for 1424s) 
 * Hist #0: ActivityRecord{66020ee8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1} 
  packageName=com.google.android.googlequicksearchbox processName=com.google.android.googlequicksearchbox 
  launchedFromUid=0 launchedFromPackage=null userId=0 
  app=ProcessRecord{66105ac8 1058:com.google.android.googlequicksearchbox/u0a19} 
  Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL } 
  frontOfTask=true task=TaskRecord{65cc6860 #1 A=com.google.android.googlequicksearchbox U=0 sz=1} 
  taskAffinity=com.google.android.googlequicksearchbox 
  realActivity=com.google.android.googlequicksearchbox/com.google.android.launcher.GEL 
  baseDir=/system/priv-app/Velvet.apk 
  dataDir=/data/user/0/com.google.android.googlequicksearchbox 
  stateNotNeeded=true componentSpecified=false mActivityType=1 
  compat={480dpi} labelRes=0x7f0a04c5 icon=0x7f030002 theme=0x7f0e000d 
  config={1.0 460mcc1mnc zh_CN ldltr sw360dp w360dp h567dp 480dpi nrml port finger -keyb/v/h -nav/h s.11} 
  launchFailed=false launchCount=0 lastLaunchTime=-17h20m56s529ms 
  haveState=true icicle=Bundle[mParcelledData.dataSize=12720] 
  state=STOPPED stopped=true delayedResume=false finishing=false 
  keysPaused=false inHistory=true visible=false sleeping=true idle=true 
  fullscreen=true noDisplay=false immersive=false launchMode=2 
  frozenBeforeDestroy=false thumbnailNeeded=false forceNewConfig=false 
  mActivityType=HOME_ACTIVITY_TYPE 
  thumbHolder: 65cc6860 bm=android.graphics.Bitmap@6653bf90 desc=null 
  waitingVisible=false nowVisible=false lastVisibleTime=-21m53s598ms 
 Task id #24 
 * TaskRecord{667de460 #24 A=com.android.systemui U=0 sz=1} 
 numActivities=1 rootWasReset=false userId=0 mTaskType=2 numFullscreen=1 mOnTopOfHome=true 
 affinity=com.android.systemui 
 intent={act=com.android.systemui.recent.action.TOGGLE_RECENTS flg=0x10c00000 cmp=com.android.systemui/.recent.RecentsActivity} 
 realActivity=com.android.systemui/.recent.RecentsActivity 
 Activities=[ActivityRecord{6561e970 u0 com.android.systemui/.recent.RecentsActivity t24}] 
 askedCompatMode=false 
 lastThumbnail=android.graphics.Bitmap@662b3118 lastDescription=null 
 lastActiveTime=87755110 (inactive for 57904s) 
 * Hist #0: ActivityRecord{6561e970 u0 com.android.systemui/.recent.RecentsActivity t24} 
  packageName=com.android.systemui processName=com.android.systemui 
  launchedFromUid=10012 launchedFromPackage=com.android.systemui userId=0 
  app=ProcessRecord{6602d698 857:com.android.systemui/u0a12} 
  Intent { act=com.android.systemui.recent.action.TOGGLE_RECENTS flg=0x10800000 cmp=com.android.systemui/.recent.RecentsActivity } 
  frontOfTask=true task=TaskRecord{667de460 #24 A=com.android.systemui U=0 sz=1} 
  taskAffinity=com.android.systemui 
  realActivity=com.android.systemui/.recent.RecentsActivity 
  baseDir=/system/priv-app/SystemUI.apk 
  dataDir=/data/data/com.android.systemui 
  stateNotNeeded=false componentSpecified=true mActivityType=2 
  compat={480dpi} labelRes=0x7f0a0080 icon=0x10804a5 theme=0x7f0e0000 
  config={1.0 460mcc1mnc zh_CN ldltr sw360dp w360dp h567dp 480dpi nrml port finger -keyb/v/h -nav/h s.9} 
  launchFailed=false launchCount=0 lastLaunchTime=-9h59m21s658ms 
  haveState=true icicle=Bundle[mParcelledData.dataSize=44] 
  state=STOPPED stopped=true delayedResume=false finishing=false 
  keysPaused=false inHistory=true visible=false sleeping=true idle=true 
  fullscreen=true noDisplay=false immersive=false launchMode=3 
  frozenBeforeDestroy=false thumbnailNeeded=false forceNewConfig=false 
  mActivityType=RECENTS_ACTIVITY_TYPE 
  thumbHolder: 667de460 bm=android.graphics.Bitmap@662b3118 desc=null 
  waitingVisible=false nowVisible=false lastVisibleTime=-7h8m31s600ms 
 
 Running activities (most recent first): 
 TaskRecord{65cc6860 #1 A=com.google.android.googlequicksearchbox U=0 sz=1} 
 Run #1: ActivityRecord{66020ee8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1} 
 TaskRecord{667de460 #24 A=com.android.systemui U=0 sz=1} 
 Run #0: ActivityRecord{6561e970 u0 com.android.systemui/.recent.RecentsActivity t24} 
 
 mLastPausedActivity: ActivityRecord{66020ee8 u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL t1} 

在shell中直接鍵入dumpsys activity activities, 可以直接得到activity的相關信息。

和其他組件相比, Activity的管理比較特殊。 Activity是以棧的形式管理的, 每個棧中存在若干個任務(task), 每個任務又由若干個Activity組成。

上面簡單介紹了ActivityManagerService中的四大組件相關的信息。 關于其他服務中的信息, 由于信息量太大, 無法一一介紹, 請讀者自行查看。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Android垃圾回收機制解決內存泄露問題

    Android垃圾回收機制解決內存泄露問題

    這篇文章主要介紹了Android垃圾回收機制解決內存泄露問題的相關資料,需要的朋友可以參考下
    2016-02-02
  • Android實例代碼理解設計模式SOLID六大原則

    Android實例代碼理解設計模式SOLID六大原則

    程序設計領域, SOLID (單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉)是由羅伯特·C·馬丁在21世紀早期 引入的記憶術首字母縮略字,指代了面向對象編程和面向對象設計的基本原則
    2021-10-10
  • Android開發(fā)中Listview動態(tài)加載數(shù)據(jù)的方法示例

    Android開發(fā)中Listview動態(tài)加載數(shù)據(jù)的方法示例

    這篇文章主要介紹了Android開發(fā)中Listview動態(tài)加載數(shù)據(jù)的方法,結合實例形式較為詳細的分析了Android操作ListView界面布局與數(shù)據(jù)動態(tài)更新相關操作技巧,需要的朋友可以參考下
    2017-10-10
  • 準確測量 Android 應用中 Activity 和 Fragment 的啟動時間的詳細過程

    準確測量 Android 應用中 Activity 和 Fragmen

    在 Android 應用開發(fā)中,了解每個 Activity 和 Fragment 的啟動時間對于性能優(yōu)化至關重要,本文將介紹幾種方法來準確測量 Activity 和 Fragment 的啟動時間,并提供實際操作步驟,以幫助提升應用的響應速度和用戶體驗,需要的朋友可以參考下
    2024-07-07
  • Android自定義View實現(xiàn)動畫效果詳解

    Android自定義View實現(xiàn)動畫效果詳解

    這篇文章主要為大家詳細介紹了Android如何通過自定義View實現(xiàn)動畫效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-02-02
  • Flutter快速制作一個水印組件實例詳解

    Flutter快速制作一個水印組件實例詳解

    這篇文章主要為大家介紹了Flutter快速制作一個水印組件實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Android開發(fā)之RecyclerView控件

    Android開發(fā)之RecyclerView控件

    本文給大家介紹的是Android開發(fā)中常用的RecyclerView控件的使用方法以及簡單的特性,有需要的小伙伴可以參考下
    2016-02-02
  • Android自定義時間軸的實現(xiàn)過程

    Android自定義時間軸的實現(xiàn)過程

    這篇文章主要介紹了Android自定義時間軸的實現(xiàn)過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android 中 ThreadLocal使用示例

    Android 中 ThreadLocal使用示例

    這篇文章主要介紹了Android 中 ThreadLocal使用示例的相關資料,這里提供示例代碼幫助大家學習理解這部分內容,需要的朋友可以參考下
    2017-09-09
  • android 定時啟動\取消小例子

    android 定時啟動\取消小例子

    本文為大家講解下android實現(xiàn)定時啟動\取消的具體實現(xiàn)方式,感興趣的朋友可以參考下哈
    2013-06-06

最新評論

化德县| 上思县| 巴彦淖尔市| 仪征市| 犍为县| 雅安市| 大悟县| 桃源县| 开平市| 上高县| 滨州市| 汤阴县| 丽水市| 温州市| 马鞍山市| 锦州市| 临沧市| 远安县| 新巴尔虎左旗| 赤壁市| 河津市| 黄陵县| 上杭县| 奇台县| 永城市| 潞城市| 东方市| 隆尧县| 新郑市| 玛纳斯县| 雅江县| 无锡市| 田阳县| 新竹市| 瑞安市| 浦北县| 怀柔区| 金门县| 田东县| 察隅县| 临西县|