在实际的开发当中,尤其软件运行在一个硬件设备比较差的环境下,对软件占用资源大的问题是开发者们必须要解决的问题,系统比较卡、觉得应该看看程序的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. day6-2面向对象

    概述: 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 注:Java和C#来 ...

  2. 29. Populating Next Right Pointers in Each Node && Populating Next Right Pointers in Each Node II

    Populating Next Right Pointers in Each Node OJ: https://oj.leetcode.com/problems/populating-next-rig ...

  3. Good Bye 2013 A

    A. New Year Candles time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. innerText引发的错误

    因为firefox对innerText的不支持,所以以下代码在firefox里运行有错误. //重新加载饼图 ") { var gridView = document.getElementB ...

  5. FMDBsqilte语句样式

    举例: @"create table student(stuid integer primary key autoincrement,name text,number integer,the ...

  6. uva1587BOX

    给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面. 思路是首先排序,每个矩形都是x<y,就是短边x,长边y,然后对六个矩形进行二级排序,排序以后构成长方 ...

  7. a标签鼠标经过,字颜色和下划线的颜色都变红

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. maven 打包 spring 项目

    在程序中使用到了springframework控件(主要是为了使用Mybatis-spring操作数据库,省事). 使用maven管理项目的构建,现在需要生成一个jar包,包含所有依赖的jar包,并可 ...

  9. netstat大量time_wait连接

    http://chembo.iteye.com/blog/1503770 http://www.2cto.com/os/201007/54067.html http://blog.csdn.net/d ...

  10. nginx 命令

    nginx 命令 sudo /etc/init.d/nginx configtest     测试是否配置有错 sudo /usr/local/nginx/sbin/nginx -s reload   ...