Heap Viewer,Memory Monitor和Allocation Tracker是用来可视化你的app使用内存的补充工具。

  1. 使用Memory Monitor Tool来发现是否有不好的内存回收时间导致你的性能问题。

  2. 执行Heap Viewer来确定获取或者保持不希望或者不必要的对象类型。

  3. 使用Allocation Tracker来确定你的哪里的代码会存在问题。

Memory Monitor

-----------------------------------------------------------------------------------------

  • 在图表中显示你的应用可用的和已使用的内存随时间的变化,伴随着垃圾回收事件发生下降。

  • 提供了一种高速的方式来測试是否App变迟缓和过渡的垃圾回收事件相关。

  • 提供了一个高速的方法来查看是否app的崩溃可能和耗尽内存相关。

  • 在你的应用执行的时候执行,而且每秒钟更新一次。

  • 帮助你高速的识别潜在的内存泄漏。

  • 帮助你的应用程序的GC模式。而且确定它们是否如你所期望的健康执行。

  • 它非常easy使用,而且非常容理解你所看见的。

  • 然而,Memory Monitor不会告诉你你的问题的解决办法是什么对象造成的。或者你哪里的代码造成的。

图1.Memory Monitor

Heap Viewer

-----------------------------------------------------------------------------------------

  • 显示分配对象类型个数的快照。

  • 显示每次垃圾回收事件自然发生或者由你触发的演示样例数据。

  • 帮助你确定什么对象类型可能导致内存泄露。

  • 然后,你必须自己从图中发现发生了什么变化。

图2.Heap Viewer

Aloocation Tracker

-----------------------------------------------------------------------------------------

  • 展示你的代码什么时候,什么地方分配什么对象类型,它们的大小,分配线程。和跟踪栈。

  • 通过反复的分配/释放模式帮助你又一次认识内存流失。

  • 能够和Heap Viewver联合使用来分总内存泄漏。

    比如,假设你看见一个位图对象在堆内存中驻存。你能使用Allocation Tracker查到它的分配地点。

  • 然而,须要时间和经验来学习理解这个工具的输出。

图3.Allocation Tracker

Android Developer:内存分析器的更多相关文章

  1. Android 操作系统的内存回收机制(转载)

    Android 操作系统的内存回收机制(转载) Android APP 的运行环境 Android 是一款基于 Linux 内核,面向移动终端的操作系统.为适应其作为移动平台操作系统的特殊需要,谷歌对 ...

  2. android防止内存溢出浅析

    Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M.但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开 ...

  3. android应用内存使用情况

    单个应用程序最大内存限制,超过这个值会产生OOM(内存溢出) 命令:adb shell ->dalvik.vm.heapgrowthlimit 应用启动后分配的初始内存 命令:adb shell ...

  4. 关于Android 的内存泄露及分析

    一. Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似.程序员通过new为对象分配内存,所有对象在java堆内分配空间:然而对象的释 ...

  5. [转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above

    问题描述: This Android SDK requires Android Developer Toolkit version 23.0.0 or above.  Current version ...

  6. 在Eclipse中使用MAT分析Android程序内存使用状况(转)

    对于Android这种手持设备来说,通常不会带有太大的内存,而且一般用户都是长时间不重启手机,所以编写程序的时候必须要非常小心的使用内存,尽量避免有内存泄露的问题出现.通常分析程序中潜在内存泄露的问题 ...

  7. 利用Android Studio、MAT对Android进行内存泄漏检测

    利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...

  8. Xamarin Android提示内存溢出错误

    Xamarin Android提示内存溢出错误 错误信息:java.lang.OutOfMemoryError, Consider increasing the value of $(JavaMaxi ...

  9. [轉]Android的内存泄漏和调试

    一. Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似.程序员通过new为对象分配内存,所有对象在java堆内分配空间:然而对象的 ...

随机推荐

  1. centos 服务器配置注意项

    Mysql 出现Table‘xxx’is read only问题 Mysql数据库在由Mssql数据库导入数据文件后出现“ERROR 1036 (HY000): Table 'xxxx' is rea ...

  2. 实时监控Cat之旅~对Get和Post进行封装,支持分布式消息树

    对第三方接口的调用我们需要对GET和POST进行监控,看一些请求的执行是否成功,如A调用B,B调用C,C调用D,这一连串的东西需要我们使用cat进行记录,进行记录之后,我们可以很容易的发现请求响应的时 ...

  3. caffe(2) 数据层及参数

    要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...

  4. vue-cli生成的模板各个文件详解(转)

    vue-cli脚手架中webpack配置基础文件详解 一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架 ...

  5. ArchLinux 调节屏幕亮度和音量大小

    我使用的是dwm,所以这种琐碎小事还要我们亲自动手, 以后考虑做个脚本,把声音调节.屏幕亮度什么的统统塞进去 屏幕亮度 # 查看亮度最大值 cat /sys/class/backlight/intel ...

  6. YOLOv3学习笔记

    Darknet/Yolo官网:https://pjreddie.com/darknet/yolo/ GitHub程序:https://github.com/AlexeyAB/darknet 关于程序程 ...

  7. python虚拟环境virtualenv、virtualenv下运行IDLE、powershell 运行脚本由执行策略引起的问题

    一.为什么要创建虚拟环境: 应为在开发中会有同时对一个包不同版本的需求,创建多个开发环境就能解决这个问题.或许也会有对python不同版本的需求,这就需要使用程序来管理不同的版本,virtualenv ...

  8. 【转】NPOI使用手册

    [转]NPOI使用手册 NPOI使用手册 目录 1.认识NPOI 2. 使用NPOI生成xls文件 2.1 创建基本内容 2.1.1创建Workbook和Sheet 2.1.2创建DocumentSu ...

  9. COGS——T1310. [HAOI2006]聪明的猴子

    http://cogs.pro/cogs/problem/problem.php?pid=1310 ★   输入文件:monkey.in   输出文件:monkey.out   简单对比时间限制:1 ...

  10. 配置mac机svn服务器

    这几天一直纠结如何配置mac机svn服务器,在网上查了很多资料,无奈本人底子太差,菜鸟级别,理解能力有限,照网上的总是配置不好,最后无奈问了刘超老师,终于配置成功.现在写一下具体配置过程,菜鸟级别可以 ...