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/

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

相关推荐
敲上瘾6 小时前
MySQL主从集群解析:从原理到Docker实战部署
android·数据库·分布式·mysql·docker·数据库架构
Jomurphys6 小时前
测试 - 单元测试(JUnit)
android·junit·单元测试
fatiaozhang95276 小时前
中国移动中兴云电脑W132D-RK3528-2+32G_安卓9_ADB开启线刷包
android·adb·电脑·电视盒子·刷机固件·机顶盒刷机·中兴云电脑w132d
selt79116 小时前
Redisson之RedissonLock源码完全解析
android·java·javascript
Yao_YongChao16 小时前
Android MVI处理副作用(Side Effect)
android·mvi·mvi副作用
非凡ghost17 小时前
JRiver Media Center(媒体管理软件)
android·学习·智能手机·媒体·软件需求
席卷全城17 小时前
Android 推箱子实现(引流文章)
android
齊家治國平天下18 小时前
Android 14 系统中 Tombstone 深度分析与解决指南
android·crash·系统服务·tombstone·android 14
maycho12320 小时前
MATLAB环境下基于双向长短时记忆网络的时间序列预测探索
android
思成不止于此20 小时前
【MySQL 零基础入门】MySQL 函数精讲(二):日期函数与流程控制函数篇
android·数据库·笔记·sql·学习·mysql