实例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. BZOJ 3211 花神游历各国 (树状数组+并查集)

    题解:首先,单点修改求区间和可以用树状数组实现,因为开平方很耗时间,所以在这个方面可以优化,我们知道,开平方开几次之后数字就会等于1 ,所以,用数组记录下一个应该开的数,每次直接跳到下一个不是1的数字 ...

  2. HDU 3756 Dome of Circus

    不会做,参见别人的程序: /* 底面为xy平面和轴为z轴的圆锥,给定一些点,使得圆锥覆盖所有点并且体积最小 点都可以投射到xz平面,问题转换为确定一条直线(交x,z与正半轴)使得与x的截距r 和与z轴 ...

  3. centos6.5 搭建php5.5+mysql5.5+apache2.4

    本文总结了Linux下 root.常用查找命令.卸载软件方法(见二.安装PHP5.5).配置软件源(见二).安装软件(见二)与高版本替换软件(见三.安装MySQL)的方法. 迁移网站,机器上原本已有p ...

  4. Flex4 设置combobox选项不可编辑

    近日做数据的增删改查,使用的flex4的ComboBox控件---> flex4中ComboBox其实就是TextInput的叠加 flex3中ComboBox其实就是Label的叠加 开始是使 ...

  5. Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)

        Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高.     一个相对完善的自定义控件在布局文件中和java ...

  6. c++ 输出虚函数表内容

    class Base{ public: virtual void f(){cout<<"Base::f"<<endl;} virtual void g(){ ...

  7. codeforces 559A(Gerald's Hexagon)

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Description Gera ...

  8. 对面向对象的理解—— SAP电面(1)

    对于C++面向对象的理解 面向对象是在结构化设计方法出现很多问题的情况下应运而生的.结构化设计方法求解问题的基本策略是从功能的角度审视问题域.它将应用程序看成实现某些特定任务的功能模块,其中子过程是实 ...

  9. Binary Tree Preorder Traversal and Binary Tree Postorder Traversal

    Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes' valu ...

  10. 用Response对象的write方法和<%%>及<%=%>输出同样效果的乘法表格

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Response1.aspx ...