实例1

int cnt=0;

final static int kBufferMinSize=1000;

final static int kBufferMaxSize=2000;

StringBuffer strBuffer=new StringBuffer(kBufferMinSize);

StringBuffer strBuffer2=new StringBuffer(kBufferMinSize);

StringBuffer strBuffer3=new StringBuffer(kBufferMinSize);

StringBuffer strBufferNativePss=new StringBuffer(kBufferMinSize);

StringBuffer strBufferDalvikPss=new StringBuffer(kBufferMinSize);

StringBuffer strBufferOtherPss=new StringBuffer(kBufferMinSize);

Debug.MemoryInfo memoryInfo=new Debug.MemoryInfo();

final static String tag="robin";

void printMemory()

{

long totalMemory=Runtime.getRuntime().totalMemory();

long freeMemory=Runtime.getRuntime().freeMemory();

long usedMemory=(totalMemory-freeMemory)>>10;

totalMemory=totalMemory>>10;

freeMemory=freeMemory>>10;

if(strBuffer.length()>kBufferMaxSize)

{

strBuffer.delete(0,strBuffer.length());

strBuffer2.delete(0,strBuffer2.length());

strBuffer3.delete(0,strBuffer3.length());

strBufferNativePss.delete(0,strBufferNativePss.length());

strBufferDalvikPss.delete(0,strBufferDalvikPss.length());

}

strBuffer.append(usedMemory+",");

strBuffer2.append(totalMemory+",");

strBuffer3.append((Debug.getNativeHeapSize()>>10)+",");

Debug.getMemoryInfo(memoryInfo);

strBufferNativePss.append((memoryInfo.nativePss)+",");

strBufferDalvikPss.append((memoryInfo.dalvikPss)+",");

if(cnt++%10==0)

{

Log.i(tag,"usedMemory:"+strBuffer.toString());

Log.i(tag,"totalMemory:"+strBuffer2.toString());

Log.i(tag,"NativeHeapSize:"+strBuffer3.toString());

Log.i(tag,"Native PSS:"+strBufferNativePss.toString());

Log.i(tag,"Dalvik PSS:"+strBufferDalvikPss.toString());

}

}

注意,对于输出的内存信息日志,我们稍作编辑就可以用于在excel产中图表,比便更直观的进行分析。

Android中如何查看内存(下)的更多相关文章

  1. Android中如何查看内存

    文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-a ...

  2. Android中如何查看内存(上)

    文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-a ...

  3. Android中如何查找内存泄露

    1.首先确定是否有内存泄露及哪个程序造成. 1.1.内存泄露已弹出out of memory对话框的情况. 这种情况很简单,直接看对话框就知道是哪个应用的问题了.然后再分析该应用是否是因为内存泄露造成 ...

  4. Android中图片占用内存的计算

    Android中图片占用内存的计算 原文链接 http://blog.sina.com.cn/s/blog_4e60b09d01016133.html   在Android开发中,我现在发现很多人还不 ...

  5. Android中常见的内存泄漏

    为什么会产生内存泄漏? 当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏. ...

  6. android手机测试中如何查看内存泄露

    (一) 生成.hprof文件生成.hprof 文件的方法有很多,而且Android 的不同版本中生成.hprof 的方式也稍有差别,我使用的版本的是2.1,各个版本中生成.prof 文件的方法请参考: ...

  7. Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)

    本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等.应用程序/包.服务(Serv ...

  8. android 中如何分析内存泄漏

    转载:http://blog.csdn.net/fulinwsuafcie/article/details/8363218 前提条件: 1,电脑安装了java 运行环境 2,手机端开启了 USB 调试 ...

  9. android中常见的内存泄漏和解决的方法

    android中的内存溢出预计大多数人在写代码的时候都出现过,事实上突然认为工作一年和工作三年的差别是什么呢.事实上干的工作或许都一样,产品汪看到的结果也都一样,那差别就是速度和质量了. 写在前面的一 ...

随机推荐

  1. HDU 1240 Asteroids!

    三维广搜 #include <cstdio> #include <iostream> #include <cstring> #include <queue&g ...

  2. 1043 - Triangle Partitioning(数学)

    1043 - Triangle Partitioning   PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Limit ...

  3. Winet API 支持HTTPP/SOCKS代理

    源程序 1.Winet API 支持使用IE代理.或者不使用代理.或者使用自定义代理三种方式. 2.使用自定义代理的话,支持HTTP代理,SOCKS代理,但是SOCKS代理不知支持用户名密码,HTTP ...

  4. Android 性能优化 三 布局优化ViewStub标签的使用

    小黑与小白的故事,通过虚拟这两个人物进行一问一答的形式来共同学习ViewStub的使用 小白:Hi,小黑,ViewStub是什么?听说能够用来进行布局优化. 小黑:ViewStub 是一个隐藏的,不占 ...

  5. centos 安装 erlang

    1.首先下载erlang 安装源文件 可以在官网上下载 : http://www.erlang.org/   官网上提供多个版本:   2.下载完成后将R16B01 Source File对应的 ot ...

  6. SQL Server 中 RAISERROR 的用法(转)

    在存储过程中进程会处理一些逻辑性的错误,如:将RMB转换为USD时,没有查询到想要的汇率 这个时候最好在存储过程中抛个异常,方便自己查找错误信息... 其语法如下: RAISERROR ( { msg ...

  7. BCS--设置BDC元数据存储权限--访问被业务数据拒绝

    设置元数据存储权限 http://blog.163.com/liangshan_wei@126/blog/static/8297850320139126930290/

  8. [译]Stairway to Integration Services Level 14 - 项目转换(SSIS 2008 ~ SSIS 2012)

    介绍 本文中我们会用SSDT把第一个SSIS项目转换为 SSIS 2012, 为什么要升级到2012? 你可能想使用SSIS 2012新的特性. 又或者想使用 SSIS 2012 Catalog. 想 ...

  9. Java代码优化策略

    1.生成对象时,合理分配空间和大小:new ArrayList(100); 2.优化for循环: Vector vect = new Vector(1000); For(int i=0; i<v ...

  10. java volatile关键字的理解

    转载:http://shmilyaw-hotmail-com.iteye.com/blog/1672779 一个多线程的示例引发的问题 在讨论这个关键字之前先看一个多线程的示例代码: public c ...