首页 > 系统相关 >android开发内存泄漏分析步骤总结

android开发内存泄漏分析步骤总结

时间:2022-12-05 19:35:12浏览次数:38  
标签:泄漏 temp conv 文件 hprof 内存 android 工具

思路:复现泄漏步骤,dump hprof 文件,用MAT工具分析大对象的引用链。
操作步骤:
1、adb shell 进入Android 系统
2、am dumpheap [进程名] /data/local/tmp/temp.hprof
3、另起一个终端 “adb pull /data/local/tmp/temp.hprof 电脑上的路径” ,把hprof 文件pull到电脑上
4、此时hprof 文件为Android hprof 文件,需要用SDK hprof-conv 工具转化成 java 的hprof
5、另起一个终端,进入platform-tools 文件夹,运行命令:hprof-conv 需要转化的文件 转化之后的地址
例如 hprof-conv H:\temp.hprof H:\temp_conv.hprof
6、下载MAT工具,可以去官网下载 地址:https://www.eclipse.org/mat/downloads.php
7、使用Mat工具打开hprof文件后,点击Dominator Tree,工具会列出所有对象,并且可以很直观的看到每一个对象占用的内存大小。
8、找到自己的包名下类名,右键Path To GC Roots -> with all references,就可以找到该类所有引用

标签:泄漏,temp,conv,文件,hprof,内存,android,工具
From: https://www.cnblogs.com/yongfengnice/p/16953239.html

相关文章

  • [笔记]java分析内存
    分析内存1.jmap_dump2.下载地址https://www.ej-technologies.com/download/jprofiler/files2.1JVM启动参数-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=D:\heap......
  • Android实现图片的倒影效果
    原理:原图和倒影图分解成两个Bitmap,倒影的Bitmap设计为原图的高度一半,宽度一致。然后创建一个可变空的Bitmap,宽度跟原图保持一致,宽度为原图的1.5倍(宽度包括原图和倒影图......
  • Android基础面试题
    1. 转屏时候Activity的生命周期1.1新建一个Activity,并把各个生命周期打印出来1.2运行Activity,得到如下信息onCreate-->onStart-->onResume-->1.3按crtl+f12切换成横屏......
  • Android实现水波纹外扩效果
    微信曾经推出了一个查找附近好友的功能,大致功能是这样的:屏幕上有一个按钮,长按按钮的时候,会有一圈圈水波纹的动画向外扩散,松手后,动画结束。现在简单来实现这样的一个动画功能......
  • Android Location服务之Geocoder
    提到Android基于位置的服务,就不得不提android.location包,location包提供了很便捷的API来实现基于位置的服务。主要包括Geocoder和LocationManager。今天就先来介绍一下Geoco......
  • 可用内存计算
    直接给出⼤家5.x6.x的真实内存使⽤率公式即可从应⽤用程序的⻆角度来说,Linux实际可⽤用内存=系统freememory+buffers+cached。使⽤率=实际可⽤内存/总内存  ......
  • Android Activity
    Activity的四种状态  Activity的生命周期  eg:打开MainActivity.java ,  继承Activity单击鼠标右键产生菜单项(Generate),之后选择重写方法菜单项(Overri......
  • Android ViewPager2 + TabLayout + BottomNavigationView
    AndroidViewPager2+TabLayout+BottomNavigationView实际案例本篇主要介绍一下ViewPager2+TabLayout+BottomNavigationView的结合操作概述相信大家都看......
  • Android中的intentservice
    在Android的应用中,往往需要在执行主界面的操作时,如果要执行耗时的操作,那么应该是另外开线程的,或者是用async或者handler,今天发现其实也可以用android中的一个Intents......
  • 华为4g模块 linux驱动程序,定制Android之4G-LTE模块驱动
    定制Android之4G-LTE模块驱动一.        简介本文讲述在Android内核中,添加中国移动4G-LTE制式华为MU909模块驱动,实现通过4G上网业务,电话业务,短信业务。CPU:Sams......