1、  查看内存信息

1)查看所有内存信息

命令:

dumpsys meminfo

例:

C:\Users\laiyu>adb shell

shell@android:/ $ dumpsys meminfo

dumpsys meminfo

Applications Memory Usage (kB):

Uptime: 80066272 Realtime: 226459939

Total PSS by process:

90058 kB: com.tencent.mobileqq (pid 16731)

57416 kB: system (pid 651)

52052 kB: com.miui.home (pid 1121)

…………(篇幅问题,略)

Total PSS by OOM adjustment:

223177 kB: Persistent

57416 kB: system (pid 651)

50036 kB: com.android.deskclock (pid 1096)

…………

252678 kB: Foreground

90058 kB: com.tencent.mobileqq (pid 16731)

…………

50944 kB: Visible

20318 kB: com.miui.miwallpaper (pid 974)

…………

90855 kB: Perceptible

36448 kB: com.google.android.inputmethod.pinyin (pid 987)

…………

39654 kB: A Services

23320 kB: com.tencent.android.qqdownloader (pid 14080)

…………

49659 kB: B Services

20085 kB: com.tencent.mobileqq:qzone (pid 19646)

…………

148413 kB: Background

21457 kB: com.miui.weather2 (pid 14296)

…………

3453 kB: com.miui.providers.datahub (pid 14651)

Total PSS by category:

454627 kB: Dalvik

137206 kB: Unknown

100835 kB: .so mmap

62670 kB: .dex mmap

54208 kB: Other dev

30258 kB: Other mmap

8527 kB: .apk mmap

4752 kB: .ttf mmap

2216 kB: Ashmem

60 kB: Cursor

21 kB: .jar mmap

0 kB: Native

Total PSS: 855380 kB

KSM: 0 kB saved from shared 0 kB

0 kB unshared; 0 kB volatile

2)查看某个包的内存信息

命令:

dumpsys pkg_name

例:

shell@android:/ $ dumpsys meminfo com.tencent.mobileqq > /mnt/sdcard/meminfo.txt

bileqq > /mnt/sdcard/meminfo.txt                                              <</span>

shell@android:/ $

查看导出结果:

具体输出项含义请搜索网络

2、  查看CPU信息

windows系统:

输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序),如下图所示:

参数含义:
PID : progress identification,应用程序ID
S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
#THR : 程序当前所用的线程数
VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)
PCY : 前台(fg)和后台(bg)进程
UID : User Identification,用户身份ID
Name : 应用程序名称

注意第一列的pid,使用pid值可以查看当前程序的内存使用情况。

查看指定程序内存使用情况:

输入命令: dumpsys meminfo 3253,如下图所示:

                          

参数含义:
dalvik : dalvik使用的内存
native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)
other : 除了dalvik和native的内存,包含C\C++非堆内存······
Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程
allocated : 已使用的内存
free : 空闲的内存
private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)
share dirty : 共享,但有不能被换页出去的内存

使用ctrl + c,退出adb命令行。

法1:linux系统的top命令

例子:

C:\Users\laiyu>adb shell

shell@android:/ $ top -d 1 | busybox grep "com.tencent.mobileqq" > /mnt/sdcard/p

erformance.txt

encent.mobileqq" > /mnt/sdcard/performance.txt                                <</span>

^C

C:\Users\laiyu>

注:直接使用grep可能报错,提示找不到命令,这时如果busybox中有grep命令,可以如上,busybox grep

查看导出文件,如下,红色框选部分即为cpu利用率

方法2:通过dummpsys cpuinfo命令

命令:adb shell dumpsys cpuinfo

或者分成两部走(参考 查看电量信息)

先adb shell,然后dumpsys cpuinfo

例:

C:\Users\laiyu>adb shell dumpsys cpuinfo | find "com.tencent.mobileqq"

0.1% 16731/com.tencent.mobileqq: 0.1% user + 0% kernel / faults: 8 minor

0% 16753/com.tencent.mobileqq:MSF: 0% user + 0% kernel

0% 19646/com.tencent.mobileqq:qzone: 0% user + 0% kernel

3、  查看应用启动时间

命令:

adb logcat -c && adb logcat -f /mnt/sdcard/up.txt -s tag

选项说明

-c   清屏

-f     指定运行结果输出文件,默认输出到标准设备(一般是显示器

-s   设置默认的过滤级别为Silent

tag  仅显示priority/tag

更多信息烦请参考 adb logcat -help

例:

先启动app,然后执行如下命令

C:\Users\laiyu>adb logcat -c && adb logcat -f /mnt/sdcard/up.txt -s ActivityMana

ger

^C

C:\Users\laiyu>

查看输出文件:

备注:I/ActivityManager: I 代表优先级,ActivityManager代表tag

更清晰图如下

注:查找Dispalyed字眼,如上图,可看到应用(com.tentcent.mobileqq)启动时间(total +4s410ms),启动页停留展示时间(+835ms)

4、  查看电量信息

命令:

dumpsys battery

例:

shell@android:/ $ dumpsys battery

dumpsys battery

Current Battery Service state:

AC powered: false

USB powered: true

status: 5

health: 2

present: true

level: 100

scale: 100

voltage:4211

temperature: 297

technology: Li-poly

shell@android:/ $

Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息的更多相关文章

  1. Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息

    Android 通过adb shell命令查看内存,CPU,启动时间,电量等信息   by:授客 QQ:1033553122 1.  查看内存信息 1)查看所有内存信息 命令: dumpsys mem ...

  2. Android 执行 adb shell 命令

    Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 ...

  3. Android 常用adb shell 命令

    原文地址http://blog.csdn.net/rain_butterfly/article/details/40894807 调试Android程序有时需要adb shell 命令,adb全称An ...

  4. Android 常用adb shell 命令(转)

    调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Androi ...

  5. 【android】 adb logcat命令查看并过滤android输出log

    cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都 ...

  6. Android:adb shell 命令详解

    安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机“/system/bin”的目录下,通过adb shell 便可以调用这些命令. 进入“/system/bin”该 ...

  7. 【Android】-- adb shell 命令探索

    ADB是什么,做android开发的没有不知道的. window下执行cmd,输入adb help就会打印adb都可以做的事情,包含 adb push ..adb pull .. adb device ...

  8. linux-top命令查看内存CPU

    转自:https://www.cnblogs.com/dragonsuc/p/5512797.html 查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ...

  9. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...

随机推荐

  1. Spring boot的@Configuration

    就在我惊艳于spring 4的AbstractAnnotationConfigDispatcherServletInitializer小巧简洁(如下)的时候却发现spring boot下面竟然无效. ...

  2. 【monkeyrunner】浅谈包名和activity名

    概念理解 包名:顾名思义,包名即为程序app的包名. activity名:每个界面都是一个activity. 两者关系:一个包有多个activity. Monkeyrunner中 device.sta ...

  3. vim之vundle

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle,下载到本地 gvim ~/.vimrc set nocompat ...

  4. 【free() invalid next size】谨慎地在C++的类中存储指针来方便访问其他节点

    “我跟你们说,你们知道STL容器,vector/string/deque等等,都有个reserve方法吗?你们一个个地push_back,嫌C++比C慢,怪谁?” “要像我这样,预先分配足够大的空间, ...

  5. Android XML数据解析

    XML:可扩展标记语言.一般用于数据存储,SharedPreference就是使用xml文件保存信息的,SQLite底层也是xml文件,在网络方面通常作为信息的载体,把数据包装成xml来传递. XML ...

  6. 八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

  7. [转]Spring 之 Bean 生命周期

    Spring 容器中可以注册多个后处理器,只要它们同时实现 org.springframework.core.Ordered 接口. 下载文件 :内容来自 <精通Spring+4.x++企业应用 ...

  8. 关于oracle数据库启动报ORA-01122,ORA-01110,ORA-01203错误的解决方法

    ORACLE 数据库空间裸设备出问题了,启动oracle失败,解决方法问题现象:     启动ORACLE的时候报如下的错误:        Database mounted.      ORA-01 ...

  9. android studio 3.0.1使用笔记(二)

    发布前如何生成正式签名的APK? 一,查看APK签名方法:??Preferences->Android->Build可以查看到这个默认keystore文件的位置. 二,新建正式签名过程: ...

  10. django-控制mysql事物

    from django.db import transaction 两种方式控制事务:为了保持数据一致性 一个Book表,一个Author表.添加一本书,也要保证添加作者.By事物控制 book = ...