在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡、觉得应该看看程序的cpu和内存消耗 一直以来都在windows下编程,已经习惯了windows任务管理器或者资源监视器,此时猛然发现在android环境下自己还真不知道如何查看当前程序的cpu和内存消耗。于是查了一些资料,发现这篇文章讲的还算详细,本文对其进行了整理,并做了一点补充。先简单介绍下我的android安装目录,现在悔不该把android安装在C盘,太占地方了,搞的现在C盘剩余空间大小已经是个位数了。好了,拿出数据线先把手机和电脑连上吧。

1. 打开终端,进入上述目录,如下图所示:
                                        

       2. 输入adb shell,打开adb命令行,如下图所示:
                                        
       3. 查看cpu使用情况:
       输入命令:top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序),如下图所示:
                                        
  1. 参数含义:
  2. PID  : progress identification,应用程序ID
  3. S    : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
  4. #THR : 程序当前所用的线程数
  5. VSS  : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
  6. RSS  : Resident Set Size实际使用物理内存(包含共享库占用的内存)
  7. PCY  : 前台(fg)和后台(bg)进程
  8. UID  : User Identification,用户身份ID
  9. Name : 应用程序名称
(注意第一列的pid,使用pid值可以查看当前程序的内存使用情况。)
       4. 查看指定程序内存使用情况:

输入命令:dumpsys meminfo pid,比如查看手机安装的360安全卫士,那么实际命令应该为:dumpsys meminfo 3253,如下图所示:

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

windows下使用adb工具查看android程序cpu和内存消耗情况的更多相关文章

  1. windows下PHP批量生成打包android程序APK-渠道txt植入apk文件

    服务器安装php环境 下载 android-sdk-windows  下载JDK 1.打开zip支持 c:/windows/php.ini ,打开 exec 2.apk 支持mime添加 .apk a ...

  2. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  3. Windows下将ImageMagick移植到Android平台

    Windows下将ImageMagick移植到Android平台 原文链接  http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...

  4. windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机

    首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...

  5. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  6. 在Windows下使用adb logcat grep

    在Windows下使用adb logcat  grep 会提示 因为grep 为Linux命令,所以不能使用.怎么办呢? 这时候可以用到babun 下载地址:http://babun.github.i ...

  7. Linux下查看内核、CPU、内存及各组件版本的命令和方法

    Linux下查看内核.CPU.内存及各组件版本的命令和方法 Linux查看内核版本: uname -a                        more /etc/*release       ...

  8. Linux查看CPU和内存使用情况(转)

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  9. Linux查看CPU和内存使用情况

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

随机推荐

  1. myEclipse

    破解myEclipse 建立一个java项目,将reg.java放入,并且运行在控制台 输入账户 回车就会出现 序列号 菜单栏--->myeclipse-->substription in ...

  2. javascript解析引擎(每天有学习一点篇)

    ======================================================= 有一段时间,经常耳闻web前端的福音,对高性能的V8议论纷纷. 其实对js解析引擎没有深 ...

  3. VBS数组

    定义一个数组: dim a(3).这里要注意在VBS里面数组不像其他的例如C,C#,JAVA等数组用[]作为数组标志.VBS采用的是().还需要注意的是,这里定义的数组包含a(0),a(1),a(2) ...

  4. hive查询

    查询语句可以直接使用非分析函数的变量的别名 select t1.* from ( select account_id, sum(recharge_money) recharge_money_total ...

  5. Kettle6使用

    1.Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程)项目,java编写,绿色无需安装 下载http://community.penta ...

  6. how to monitor system logs and export to files simultaneously

    What will you do when you conduct a malware analysis on a smartphone? You will focus on running proc ...

  7. sqlserver同步后在不重新初始化快照的情况下新增表

           在已有事务复制中,时长需要新增表.索引,这些变更时不会同步到从库中.如果采用默认的设置,每次都需要重新初始化快照,从库重新应用快照和未执行的同步命令,这显然是无法在线上实践的方法.另一种 ...

  8. guava cache

    适用场景 缓存在很多场景下都是相当有用的.例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存. Guava Cache与ConcurrentMap很相似,但 ...

  9. Python学习笔记(二)基本语法

    Class 2 一.交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,如下图: ...

  10. QT 使用jsoncpp

    QT 使用jsoncpp 编译jsoncpp 编译前先安装好python,scons,解压jsoncpp到目录e:\jsconcpp,查看目录下的readme,有关于编译的说明的,根据说明做相应操作就 ...