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/

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

相关推荐
StackNoOverflow1 小时前
MySQL Explain 返回列详解:从入门到实战,附 SQL 与避坑大全
android
CYRUS_STUDIO10 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj5011 小时前
安卓基础之《(28)—Service组件》
android
lhbian13 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop14 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO14 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊15 小时前
leetcode 142
android·java·leetcode
angerdream15 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲15 小时前
Zephyr_01, environment
android·java·javascript
sTone8737516 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端