android内存分析工具记录,请利用好最后2个神器

相机见证了java内存暴增和native持续增长的问题,因此这里记录一下使用的工具情况,方便后续继续使用

一、java 内存

如果是java层的内存可以直接借助leakCanary工具,配置也很简单,直接在build.gradle中添加依赖即可:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.11'

二、native内存

native非常难测,除了bitmap占用可能导致native很高,其余的大概率就是底层的问题。

那么我们常用的排除手段,有以下几种:

1、profile

一个设备只能连接一个android studio,而且很慢,但好处是可以抓native的head,不过对于我们上层来说,也看不出是什么。

2、dumpsys meminfo命令

该命令可以直接查询某个进程占用内存情况:adb shell dumpsys meminfo com.hryt.camera

下面这个命令可以极大的简化用profile分析的情况,轻松通过adb命令找到native自动轮询输出

复制代码
while true;do dumpsys meminfo com.hryt.camera ;sleep 3;done;

三、其他解法

https://ui.perfetto.dev/

一代高性能分析工具,可以通过里面生成录制命令

相关推荐
kk爱闹17 分钟前
【挑战14天学完python和pytorch】- day01
android·pytorch·python
每次的天空2 小时前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
恋猫de小郭2 小时前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
断剑重铸之日3 小时前
Android自定义相机开发(类似OCR扫描相机)
android
随心最为安3 小时前
Android Library Maven 发布完整流程指南
android
岁月玲珑3 小时前
【使用Android Studio调试手机app时候手机老掉线问题】
android·ide·android studio
还鮟8 小时前
CTF Web的数组巧用
android
小蜜蜂嗡嗡9 小时前
Android Studio flutter项目运行、打包时间太长
android·flutter·android studio
aqi009 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
zhangphil11 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android