`
univasity
  • 浏览: 809887 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android调试工具 —— MAT [整理]

阅读更多

简介:
Eclipse提供的一个内存分析工具。它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。
官网地址:http://www.eclipse.org/mat

安装 (如果你使用的是MOTODEV Studio for Android则默认自带了该工具)
你可以选择安装Eclipse提供的原版插件或使用MOTODEV Studio for Android插件

>>1.原版插件
1).启动Eclipse,一次点击Help -> Intall New Software...;
2).点击输入栏右侧小箭头,选择"Galileo"(我的是3.5版,不同版本要找到和自己版本名称对应的);
3).等待列表更新完毕,找到并展开"General Purpose Tools";
4).选中并下载其中的"Memory Analyser (Incubation)"和"Memory Analyser (Charts)"两项。

>>2.MOTODEV Studio for Android插件
1).启动Eclipse,一次点击Help -> Intall New Software...;
2).通过Add新建一个更新(最新地址可在此 获得):
    Name:MOTODEV Studio for Android Plugin
    Location:https://studio-android.motodevupdate.com/android/2.0
3).下载并安装此更新。
* 如果主要针对Android开发,建议使用MOTODEV Studio for Android的整合插件,应为它还提供了很多便利的工具,不过如果已经安装了ADT的需要先手动卸载才能安装,具体请参考:作为插件安装 MOTODEV Studio。

使用方式1 —— 带参数运行
具体可参考:Eclipse Memory Analyser (MAT) - Tutorial
归纳的大致步骤:
(1) 在Run Conigurations..中的Arguments设置VM argument为:
-XX:+HeapDumpOnOutOfMemoryError
(2) 运行你的项目并生成.hprof文件,如果没看到请按F5刷新项目目录,就在根目录下;
(3) 双击.hprof文件打开,选择"Leak Suspects Report"

使用方式2 —— 结合Sequoyah监控特定的设备及应用
<该方式需要你安装了Sequoyah 或MOTODEV Studio for Android插件>

具体可参考:使用MAT分析应用内存

--------------------------------------------------------
*注意:
解析过大的HeapDump可能会导致Eclipse抛出OutOfMemory的错误:

 
这时你需要手动调整Eclipse的缓存大小,可参考官网给出的处理方式(原文链接 ):

 
>>我的使用情况:
我的机器只能设到512m,而且始终没法解决OutOfMemory的问题,看来对内存有一定要求呐...

但是我下载了RPC版的MAT却是能正常打开的,Eclipse插件版打不开的朋友可以试试该方式:RPC版MAT下载地址
--------------------------------------------------------

打开后的界面如下:


更详细的使用示例请参考以下文章:
http://wiki.eclipse.org/index.php/MemoryAnalyzer
—— 官方的帮助文档

使用 Eclipse Memory Analyzer 进行堆转储文件分析
—— 来自IBM的使用教程

Eclipse Memory Analyser (MAT) - Tutorial
—— 一个浅显易懂的MAT使用教程

使用Memory Analyzer tool(MAT)分析内存泄漏(一)
使用Memory Analyzer tool(MAT)分析内存泄漏(二)
—— 详细地分析了内存泄露的原因,并举例说明,强烈推荐

 

  • 大小: 24.8 KB
  • 大小: 19.3 KB
  • 大小: 110.6 KB
分享到:
评论

相关推荐

    M8 android dump内存工具

    在分析内存dump文件时,常用的工具有MAT (Memory Analyzer Tool)、Android Studio的内存分析器等。这些工具可以解析dump文件,以图形化的方式展示内存分配,帮助定位问题。 总之,M8 android dump内存工具是一套...

    android内存管理-MAT与防范手段.pdf

    - **分析目的:** 通过MAT工具分析Heap Dump文件,寻找可能导致内存泄漏的对象。 - **分析方法:** 利用MAT提供的多种视图工具,例如Memory Leaks Suspects Report等。 **3. 使用MAT比较Heap Dumps** - **应用场景...

    android 开发(一)Java+Open CV(csdn)————程序.pdf

    在运行代码时,可以选择使用Android模拟器或真实设备,确保设备开启开发者模式并允许USB调试,以便于调试和测试。 总的来说,Android开发结合OpenCV库可以让开发者实现复杂而实用的图像处理功能。从环境配置到实际...

    Android学习进阶精品资料大全.rar

    10. **Android中文翻译组——Android中文API合集(4).pdf**: - 官方API文档是开发者的重要参考,中文版的API合集使得学习和查找API变得更加便捷。 这些资料覆盖了Android开发的多个方面,从基本的UI设计到系统的...

    可提高Java开发性能的5款调试工具

    作为现今十分流行的移动平台——Android的核心语言,它大大促进了移动通信行业的发展。因此可以肯定,随着Android平台的不断扩张,Java开发人员的需求量也会不断增加。  这篇文章为大家介绍了多款有用的调试工具,...

    3套Android面试题

    以下三份资料——"Android面试题.doc"、"谷歌Android系统开发面试题.pdf"和"联想Android开发工程师面试题.pdf"涵盖了多个Android开发的重要知识点,旨在帮助求职者充分准备,以应对不同公司的面试挑战。 1. **基础...

    Android典型技术模块开发详解

    2.4 LogCat日志调试 2.5 示例练习 2.5.1 登录界面 2.5.2 事件处理 2.6 本章小结 第二篇 Android开发关键组件 第3章 Activity(活动) 3.1 什么是任务 3.2 Activity的生命周期 3.3 基本用法 3.3.1 创建Activity 3.3.2...

    OPhone平台2D游戏引擎实现——物理引擎

    OPhone平台2D游戏引擎实现——物理引擎(一) OPhone平台开发, 2010-10-19 17:27:20 标签 : Ophone平台 2D 游戏 引擎  上一篇文章我们介绍了常见的各种游戏特效的实现,你现在可以很轻松的实现各种游戏中所需要...

    leakcanary

    - **泄漏堆快照**:提供了一个详细的堆转储文件,可以使用MAT(Memory Analyzer Tool)等工具进行深度分析。 五、解决内存泄漏 根据LeakCanary提供的泄漏路径,开发者可以找到导致泄漏的原因。常见内存泄漏的原因...

    Qt5.7OpenCV249phrDown

    【标题】"Qt5.7与OpenCV2.4.9结合实现图像处理——pyrDown功能" 在本文中,我们将深入探讨如何在Qt5.7框架下利用OpenCV2.4.9库来实现图像的下采样操作,即pyrDown功能。Qt是一个强大的C++图形用户界面工具包,而...

    opencv_tutorials

    **2.1 Mat——基本图像容器** - **Mat对象介绍:** - `cv::Mat`是OpenCV中最常用的数据结构之一。 - 存储图像和其他多维数组。 - 支持多种数据类型和维度。 **2.2 扫描图像、查找表和时间测量** - **图像扫描...

    Opencv Tutorial

    **2.1 Mat——基本图像容器** Mat 类是 OpenCV 中用于存储多维数组的主要类,尤其适用于图像数据。这一章节解释了 Mat 类的基本用法,包括如何创建 Mat 对象、访问像素值以及进行矩阵运算等。 **2.2 图像扫描、...

    opencv英文版教程

    ### OpenCV 英文版教程知识点汇总 ...以上是基于给定文件的部分内容整理出的OpenCV英文版教程的主要知识点。这些内容覆盖了从基础的环境搭建到具体的图像处理技术等多个方面,对于学习和掌握OpenCV有着重要的参考价值。

    OpenCV实例源代码

    它提供了C++、Python、Java等多种语言接口,支持Windows、Linux、Mac OS、Android和iOS等多个平台。OpenCV的设计目标是实现实时的图像处理和计算机视觉任务,广泛应用于机器学习、自动驾驶、人脸识别等领域。 2. **...

    opencv_tutorials 手册

    - **Mat——基本图像容器**:Mat类是OpenCV中最核心的数据结构,用于存储多维数组,通常用于表示图像或矩阵。 - **扫描图像、查找表和时间测量**:解释如何利用OpenCV进行图像扫描、查找表操作及时间测量,优化算法...

Global site tag (gtag.js) - Google Analytics