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/

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

相关推荐
微露清风1 小时前
浅析 MySQL 索引
android·数据库·mysql
91刘仁德1 小时前
MySQL 数据类型详解
android·笔记·mysql·adb
编程圈子3 小时前
操作系统学习14 IDT + PIC + 键盘中断
android·学习·计算机外设
齊家治國平天下9 小时前
Android 14 Vehicle HAL (VHAL) 设计与实现深度解析
android·aaos·carservice·车载开发·android 14·vhal·vehicle hal
AFinalStone15 小时前
Android 7系统网络(八)应用API层—ConnectivityManager使用与实战调试
android·网络
plainGeekDev16 小时前
kapt 替换为 KSP
android·java·kotlin
蜡台16 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
阿pin19 小时前
Android随笔-SharedPreferences
android·sp
阿pin20 小时前
Android随笔-DataStore
android·datastore
茶栀(*´I`*)21 小时前
Android 测试入门指南:ADB 基础配置与常用设备管理命令解析
android·adb